Новые торренты

Самые скачиваемые

5 C

5

 

Pandora ®

Longevity:
11 years
Posts:
69

Утилиты для сборки
Если у вас в системе установлена среда для разработки ПО Xcode, то вы можете пропустить этот пункт, поскольку всё необходимое эта среда устанавливает. Если же вы ничего подобного не устанавливали, то придётся это сделать. Данный пакет (Xcode) является бесплатным и последнюю его версию вы можете найти на сайте Mac Dev Center, предварительно на этом сайте зарегистрировавшись.
При установке, пакет предложит вам на выбор различные опции установки. Неважно, что именно вы отметите, главное, чтобы у остался выбранным пункт UNIX Development Support, который содержит в себе необходимые нам средства для компиляции.
Теперь необходимо установить пакет MacPorts. Это консольная утилита поиска, установки и обновления огромного количества приложений и библиотек, широко используемых на UNIX-based системах и портированных под Mac OS X.
Для того, чтобы установить MacPorts, скачайте последнюю версию этого пакета со страницы http://distfiles.macports.org/MacPorts, примонтируйте образ и запустите инсталятор. Если вам вдруг в какой-то момент покажется, что инсталятор завис (он не будет ни на что реагировать). просто наберитесь терпения. :)
Сборка и инициализация баз данных MySQL 5.1 и PostgreSQL 8.4.1
MySQL и PostgreSQL на платформе Mac OS X. Начальные шаги для подготовки системы к сборке описаны здесь, так что если вы не выполнили описанных там шагов, вряд ли что-то получится.
Итак, приступим:-
Сборка MySQL
Начнём мы с MySQL. В моём примере будет рассматриваться сборка версии 5.1.39 (последняя в ветке 5.1 на сегодняшний день), но принцип одинаков и для других версий. Также хочется отметить, что в моих примерах сервер MySQL будет установлен в директорию /usr/local, и все команды приведены с учётом этого пути, так что если вы решите устанавливать сервер в другую директорию, изменяйте предложенные в примерах команды в соответствии с необходимыми вам путями.
Чтобы начать, необходимо скачать исходники MySQL нужной вам версии. Для этого нужно зайти на эту страницу, и в разделе "Sources" выбрать для скачивания один из пакетов. Распакуйте исходники из архива: это можно сделать при помощи встроенного в Leopard инструмента для работы с архивами (просто кликните по архиву два раза). Теперь переходим к сборке. Откройте Terminal и перейдите в директорию с исходниками. Далее список команд, которые необходимо последовательно выполнить в терминале.
Для начала ознакомьтесь со списком конфигурационных параметров, которые оказывают влияние на сборку сервера базы данных. Это можно сделать, выполнив в терминале команду:
Код:
./configure --help
Вы увидите огромный перечень параметров с описанием того, на что они влияют. Если раньше вам приходилось иметь дело с MySQL, вы поймёте, в чём дело. Если же нет, рекомендую подробнее почитать об этом на сайте MySQL. Я не буду задерживаться на параметрах, перейдём к конфигурации исходников для последующей сборки. Лично я конфигурировал сервер со следующими опциями:
Код:
./configure --prefix=/usr/local/mysql-5.1.39 --enable-profiling --with-charset=utf8 --with-extra-charsets=all --with-plugins=all
Этими параметрами я указываю, куда именно я хочу установить сервер, а также включаю ряд опциональных параметров.
После того, как конфигурация успешно завершилась, запускаем компиляцию:
Код:
make
Запаситесь терпением, поскольку выполнение этой команды займёт довольно много времени. Посе завершения компиляции, необходимо выполнить команду установки от имени суперпользователя:
Код:
do make install
Если до этого всё было хорошо (очень на это надеюсь), теперь у вас установлен сервер MySQL, и необходимо выполнить пару шагов для завершения установки. Для начала запустите от имени суперпользователя команду создания ссылки на директорию с сервером (для удобства) и инициализации базы данных:
Код:
sudo ln -s /usr/local/mysql-5.1.39/ /usr/local/mysql && sudo /usr/local/mysql/bin/mysql_install_db
Теперь, если вы всё ещё находитесь в каталоге с исходниками (если нет, перейдите туда или измените указанную ниже команду), выполните следующее действие:
Код:
sudo cp support-files/mysql.server /usr/local/mysql/ && sudo chmod 700 /usr/local/mysql/mysql.server
Тем самым вы скопируете скрипт запуска сервера в каталог с установленным MySQL и дадите права на его исполнение только владельцу файла (его мы изменим позже) либо суперпользователю.
Следующая команда установит пользователя mysql (он присутствует в системе Mac OS X Leopard сразу после установки) владельцем всех файлов установленного сервера:
Код:
sudo chown -R mysql:mysql /usr/local/mysql-5.1.39
Вот и всё, теперь осталось лишь запустить сервер. Для этого выполните команду:
Код:
sudo /usr/local/mysql/mysql.server start
Если после выполнения этой команды вы увидите на экране слово SUCCESS, значит всё прошло успешно, сервер запустился. Чтобы остановить сервер, замените параметр start в команде, данной выше, на stop. Чтобы ознакомиться со всеми командами, доступными скрипту, запустите его без аргументов, и он выведен на экран доступный для использования список параметров.
- Сборка PostgreSQL
Непосредственно сборка этой базы данных мало чем отличается от MySQL: всё те же ./configure, make и make install, но в зависимости от конфигурационных установок, вам может потребоваться установка дополнительных библиотек. Но обо всём по порядку.
Для начала необходимо скачать исходники: взять коды нужной вам версии можно отсюда. В моих примерах будет рассматриваться сборка версии 8.4.1, но принцип тот же и для других версий, — единственное, что нужно будет делать, в случае, если вы используете отличную от моих примеров версию, — указывать правильные пути к файлам. Как и в случае с MySQL, описанном выше, устанавливать эту базу данных я буду в директорию /usr/local.
Распакуйте исходники, запустите терминал и перейдите в появившуюся у вас директорию.
Список доступных конфигу
Код:
./configure --help
Поскольку я буду собирать базу с поддержкой XML и XSLT, мне потребуется библиотека libxml2, отсутствующая в Mac OS X Leopard (хотя, могу и ошибаться, возможно она там есть, но довольно старая. В подробности не углублялся). Тут-то и потребуется наличие у вас MacPorts, об установке которого я писал во вступлении. Для того, чтобы установить в систему эту библиотеку, необходимо в терминале выполить следующую команду:
Код:
sudo /opt/local/bin/port install libxml2
После чего в вашу систему будет автоматически установлен ряд библиотек (gperf, libiconv, zlib), необходимых для установки libxml2, а так же нужная нам библиотека.
Теперь приступаем к конфигурированию PostgreSQL
Код:
./configure --prefix=/usr/local/postgresql-8.4.1 --with-python --with-libxml --with-libxslt
Затем копиляция (она тоже небыстрая) и установка в систему:
Код:
make && sudo make install
Теперь предстоит проделать ряд манипуляций с системными пользователями, чтобы получить группу и пользователя, необходимых для работы PostgreSQL. В отличие от mysql, пользователь postgres в Leopard отсутствует. Его, конечно, можно создать при помощи пункта "Учётные записи" в Системных настройках, но тогда этот пользователь появится и в окне приглашения входа в систему, что вам, уверен, совершенно ни к чему. А потому придётся действовать через консольную утилиту dscl - Directory Service command line utility. Все команды, которые необходимо последовательно выполнить, я объединил в одну, так что для создания группы и пользователя с именем postgres, скопируйте указанную ниже команду и выполните её в терминале:
Код:
sudo dscl localhost -create /Local/Default/Groups/postgres PrimaryGroupID 123 && sudo dscl localhost -create /Local/Default/Groups/postgres RealName "PostgreSQL Users" && sudo dscl localhost -create /Local/Default/Users/postgres && sudo dscl localhost -create /Local/Default/Users/postgres RecordName postgres && sudo dscl localhost -create /Local/Default/Users/postgres UserShell /bin/sh && sudo dscl localhost -create /Local/Default/Users/postgres RealName "PostgreSQL Server" && sudo dscl localhost -create /Local/Default/Users/postgres UniqueID 123 && sudo dscl localhost -create /Local/Default/Users/postgres PrimaryGroupID 123 && sudo dscl localhost -create /Local/Default/Users/postgres NFSHomeDirectory /usr/local/pgsql
Поскольку у вас появился пользователь postgres, необходимо назначить его владельцем свежеустановленного сервера PostgreSQL. Для этого выполните команду:
Код:
sudo chown -R postgres:postgres /usr/local/postgresql-8.4.1
Теперь необходимо инициировать создание начальной данных структуры для сервера и указать серверу, где ему следует хранить данные. Сделать это надо от имени созданного вами пользователя postgres, но чтоб по много раз не переключаться, воспользуемся встроенными средствами системы:
Код:
sudo su - postgres -c "/usr/local/postgresql-8.4.1/bin/initdb -D /usr/local/postgresql-8.4.1/data"
Теперь завершающие шаги: сделайте симлинк на директорию с сервером (для удобства в будущем):
Код:
sudo ln -s /usr/local/postgresql-8.4.1 /usr/local/pgsql
И можете запускать свой сервер:
Код:
sudo su - postgres -c "/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l /usr/local/pgsql/logfile"
Чтобы остановить сервер, достаточно выполнить команду
Код:
sudo su - postgres -c "/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/data -l /usr/local/pgsql/logfile"
Intel Core i5 - 750 (4 Core / 4 Thread)
Asus P7P55D LE
2x4GB / 2x2GB - DDR III 2048 Mb 1600 Mhz PC-12800 Kingston HyperX
WD External 320GB
2 x PCI-E nVidia GTS 250 1024 Mb GigaByte Retail Zalman (GV-N250OC-1GI BOX)
[Profile]  [PM] 

Pandora ®

Longevity:
11 years
Posts:
69

Теперь, после сборки баз данных, пришла пора установить PHP. Я ставил PHP 5.3.0, который в настоящий момент является последней стабильной версией, указанной на сайте PHP. Кроме того сразу стоит отметить, что я опишу именно процесс сборки PHP как CGI-приложения для последующего использования с каким-нибудь proxy-сервером (в моём случае, с nginx), так что если вы планируете собирать его как mod_php для сервера Apache, этот урок вам не подойдёт.
Кроме того, в процессе моей сборки будет задействован менеджер процессов PHP-FPM, который позволяет более тонко управлять процессами PHP, необходимыми для обработки ваших сайтов. Но обо всём по порядку.
Установка библиотек
Итак, для начала нужно определиться, с чем собирать PHP. Лично для моих задач важна поддержка работы с изображениями (GD2) и шрифтами (Type 1 и Freetype), которые, в свою очередь, потребуют установки в систему ряда библиотек. Так что с них, пожалуй, и начнём. Для установки нужных библиотек, воспользуйтесь знакомой по предыдущим постам утилитой из пакета MacPorts и выполните в терминале следующее.
Код:
sudo port install gd2
Эта команда установит в систему библиотеки для работы с графикой (в число которых входят libjpeg, libpng, libfreetype, libxpm и ряд других, необходимых для GD). Теперь установим t1lib (если поддержка шрифтов Adobe™ Type 1 вам не требуется. пропустите этот шаг, но тогда потом уберите из конфигурации PHP, которая будет описана ниже, опцию --with-t1lib)
Код:
sudo port install t1lib
Сборка PHP с патчем FPM
Теперь необходимо скачать исходники PHP и PHP-FPM. На странице с доступными пакетами выбираете тот, который вам необходим (в описываемом мною случае, 5.3.0), скачиваете (ориентирйтесь на надпись Complete Source Code), распаковываете директорию php-5.3.0. Теперь с сайта PHP-FPM нужно скачать менеджер процессов для той версии PHP, которую вы планируете устанавливать (в описываемом мною случае, php-fpm-0.6-5.3.0) и после скачивания, распаковываете его рядом с исходниками PHP.
Откройте терминал и перейдите в директорию, которая содержит папки с исходниками указанных продуктов. Нужно создать патч FPM, применить его к исходникам PHP, а затем подготовить место для необходимых при сборке файлов. Все необходимые для этого команды я привожу одной строкой, которую вы можете выполнить в терпинале:
Код:
php-fpm-0.6-5.3.0/generate-fpm-patch && cd php-5.3.0 && patch -p1 < ../fpm.patch && ./buildconf --force && mkdir fpm-build
Вот и всё, подготовительный этап закончен, теперь можно конфигурировать и собирать PHP. Как и в случае с базами данных, чтобы ознакомиться со списком всех доступных при конфигурации опций, нужно выполнить команду ./configure с параметром --help, находясь в каталоге с исходниками PHP.
Код:
./configure --help
После того, как определились, запускаете конфигуратор с нужными параметрами. В описываемом случае я устанавливаю PHP в директорию /usr/local/php-5.3.0, а также указываю местоположение необходимых мне библиотек:
Код:
./configure --enable-fpm --prefix=/usr/local/php-5.3.0 \
--with-zlib --enable-bcmath --enable-calendar --with-curl \
--with-libxml-dir --enable-exif --with-pcre-dir --enable-ftp \
--with-gd=/opt/local/ --with-jpeg-dir=/opt/local/ --with-png-dir=/opt/local/ \
--with-freetype-dir=/opt/local/ --with-t1lib=/opt/local/ \
--enable-gd-native-ttf --with-gettext=/opt/local/ --enable-mbstring --enable-mbregex \
--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-pdo-mysql=/usr/local/mysql --with-pdo-pgsql=/usr/local/pgsql --with-pgsql=/usr/local/pgsql \
--enable-sqlite-utf8 --with-xmlrpc --with-xsl --with-xpm-dir=/usr/X11 --with-iconv=shared,/opt/local/
О нормальном завершении конфигурации можно судить по тому, что у вас на экране терминала отсутствует слово Error и присутствует предложение "Thank you for using PHP". Если же есть какие-то ошибки, внимательно читайте, что именно не устраивает конфигуратор, или задавайте вопросы.
Если конфигурация завершилась нормально, запускайте компиляцию:
make
Если и после этого ошибки отсутствуют (как я вам тогда завидую!), можно устанавливать PHP:
Код:
sudo make install
Тут уже проблем возникнуть попросту не должно. Теперь, чтобы запустить PHP, потребуется произвести начальную конфигурацию PHP-FPM. С этим менеджером процессов сразу поставляется стартовая конфигурация, но в ней закомментированы поля, отвечающие за пользователя и группу, от имени которого должен работать PHP. Чтобы исправить этот недочёт, откройте любым текстовым редактором, который умеет сохранять plain-text файлы (ни в коем случае не Word!!!) файл php-fpm.conf, расположенный в директории /usr/local/php-5.3.0/etc/. Например так:
Код:
sudo vim /usr/local/php-5.3.0/etc/php-fpm.conf
И найдите там такие строки:
Код:
<value name="user">
<value name="group">
Уберите с них комментарии, и укажите нужное значение (я использую www).
Осталось сделать пару последних штрихов:
скопируйте файл с дефолтными настройками из директории с исходниками в директорию с установленным PHP
Код:
sudo cp php.ini-development /usr/local/php/lib/php.ini
создайте ссылку на ваш PHP (я это делаю исключительно для удобства, этот шаг необязательный)
Код:
sudo ln -s /usr/local/php-5.3.0 /usr/local/php
Вот и всё, теперь можно запускать PHP.
Код:
sudo /usr/local/php/bin/php-cgi --fpm
Чтобы убедиться, что он запущен, можно поискать его в процессах:
Код:
sudo ps aux
| grep php-cgi
Чтобы остановить все запущенные процессы (например, при изменении настроек), нужно выполнить следующую команду
Код:
sudo killall php-cgi
На этом можно заканчивать, поскольку теперь у вас установлен PHP.
Безусловно, в этом уроке описано далеко не всё. Например, PHP-FPM можно собрать как самостоятельное приложение, и управлять процессом запуска PHP через него. А можно обойтись и вовсе без FPM. Как бы там ни было, я не ставил своей целью рассказать ВСЁ, поскольку это не имеет смысла: необходимую информацию можно почерпнуть как на официальном сайте PHP, так и на страницах PHP-FPM. Но я всё же рассчитываю, что данная статья покажет, в каком направлении искать, и кому-то сильно сэкономит время.
Ну а в следующей статье, как и обещал, напишу про nginx, memcached и xdebug.
Intel Core i5 - 750 (4 Core / 4 Thread)
Asus P7P55D LE
2x4GB / 2x2GB - DDR III 2048 Mb 1600 Mhz PC-12800 Kingston HyperX
WD External 320GB
2 x PCI-E nVidia GTS 250 1024 Mb GigaByte Retail Zalman (GV-N250OC-1GI BOX)
[Profile]  [PM] 

Pandora ®

Longevity:
11 years
Posts:
69

nginx
Что такое nginx, знает, пожалуй, каждый web-разработчик. Если же вы только начинаете осваивать азы web-строительства, то более подробную информацию об использовании nginx вы можете почитать на сайте разработчика этого продукта. Существует несколько разных способов использования этого продукта, но сегодня я остановлюсь лишь на том, как установить этот сервер в вашу систему и настроить для работы с установленным ранее PHP+FPM.
Для начала необходимо скачать исходные тексты nginx. Их можно получить на сайте сервера, скачав архив с необходимой вам версией (в тексте рассматриваются примеры с версией nginx-0.7.62)
Распакуйте архив и, используя терминал, перейдите в директорию с исходными текстами. Для получения списка опций сборки, используйте команду
Код:
./configure --help
После того, как вы определитесь с опциями, сконфигурируйте пакте для сборки. Я, как указывал в одном из предыдущих руководств, устанавливаю пакеты для web-разработки в директорию /usr/local, и конфигурировал nginx с такими опциями:
Код:
./configure --prefix=/usr/local/nginx-0.7.62 --with-pcre --with-http_flv_module
Теперь запускаем сборку:
Код:
make
и установку
Код:
sudo make install
Как и раньше, для последующего удобства, делаем ссылку на установленный сервер:
Код:
sudo ln -s /usr/local/nginx-0.7.62/ /usr/local/nginx
Ну а теперь запускаем сервер:
Код:
sudo /usr/local/nginx/sbin/nginx
Важно: по умолчанию nginx настроен на работу с 80-м портом, поэтому если у вас запущен встроенный в Leopard сервер Apache, nginx не запустится и выдаст ошибку. Поэтому предварительно убедитесь, что Apache выключен: это можно сделать запустив программу "Системные настройки" а затем, перейдя в раздел "Общий доступ", снять включение с сервиса "Общий веб-доступ".

Если вы не получили никакого уведомления об ошибке, и встроенный Apache у вас выключен, то nginx, вероятнее всего, нормально запустился. Теперь в любом браузере наберите адрес http://localhost и на экране появится приветствие, сообщающее о том, что nginx был благополучно запущен.

Если же вам требуется остановить сервер, то выполните в терминале команду
Код:
sudo /usr/local/nginx/sbin/nginx -s stop
Для того, чтобы научить nginx работать с установленным ранее PHP+FPM, придётся выполнить несколько дополнительных шагов:
  • создать в файловой директорию, в которой будет расположен ваш сайт
  • внести изменения в файл настроек nginx
  • запустить PHP+FPM
  • перезапустить nginx
Теперь по порядку.
Для примера я буду использовать директорию /usr/local/site, но вы можете указать другой путь. Главное, не забудьте отредактировать указанные мною примеры, чтобы они соответствовали вашим реальным данным.
Итак, создайте директорию для сайта, и положите туда какой-нибудь php-файл (например, index.php который выведет на экран phpinfo(); )
Отредактируйте файл настроек nginx (/usr/local/nginx/conf/nginx.conf) поместив в него следующее содержимое:
Код:
user www;
worker_processes  1;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
    use kqueue;
}
http {
    include       mime.types;
    default_type  text/html;
    keepalive_timeout                 65;
    client_header_timeout       3m;
    client_body_timeout         3m;
    send_timeout                3m;
    client_header_buffer_size   1k;
    large_client_header_buffers 4 4k;
    output_buffers              4 128k;
    postpone_output             1460;
    sendfile                    on;
    tcp_nodelay                 on;
    tcp_nopush                  on;
    send_lowat                  12000;
    gzip                        on;
    gzip_min_length             1100;
    gzip_buffers                4 8k;
    gzip_types                  text/plain;
    proxy_redirect      off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    client_max_body_size 10M;
    client_body_buffer_size 512k;
    client_body_temp_path /tmp/client_body_temp;
    proxy_connect_timeout       180;
    proxy_send_timeout  180;
    proxy_read_timeout  180;
    proxy_send_lowat    12000;
    proxy_buffer_size   64k;
    proxy_buffers               4 128k;
    proxy_busy_buffers_size 256k;
    proxy_temp_file_write_size 256k;
    proxy_temp_path /tmp/proxy_temp;
     server {
          listen       80;
          server_name  localhost;
          index        index.php;
          root         /usr/local/site;
          location ~ \.php$ {
               fastcgi_pass  127.0.0.1:9000;
               fastcgi_index index.php;
               fastcgi_param SCRIPT_NAME $fastcgi_script_name;
               fastcgi_param REQUEST_URI $request_uri;
               fastcgi_param DOCUMENT_URI $document_uri;
               fastcgi_param DOCUMENT_ROOT $document_root;
               fastcgi_param REMOTE_ADDR $remote_addr;
               fastcgi_param REMOTE_PORT $remote_port;
               fastcgi_param SERVER_ADDR $server_addr;
               fastcgi_param SERVER_PORT $server_port;
               fastcgi_param SERVER_NAME $server_name;
               fastcgi_param SCRIPT_FILENAME  /usr/local/site$fastcgi_script_name;
               fastcgi_param QUERY_STRING $query_string;
               fastcgi_param REQUEST_METHOD $request_method;
               fastcgi_param CONTENT_TYPE $content_type;
               fastcgi_param PATH_INFO $request_uri;
               fastcgi_param CONTENT_LENGTH $content_length;
          }
     }
}
Теперь, если у вас не запущен PHP, запустите его. Как это сделать, написано в этом руководстве. Осталось перезапустить nginx с новыми настройками
Код:
sudo /usr/local/nginx/sbin/nginx -s reload
По идее, если вы не меняли настройки FPM, PHP должен работать у вас на 9000-м порту, а nginx будет принимать все соединения на 80-м и перенаправлять их на PHP, так что попытавшись открыть адрес http://localhost вы получите не приветствие nginx, а результат работы вашего php-скрипта.-Memcached
Собственно, сборка Memcached довольно проста, но требует некоторой подготовки. В частности, для работы Memcached необходимо библиотека libevent, которую нужно установить при помощи уже знакомого вам по одному из предыдущих руководств MacPorts. Выполните в терминале команду
sudo port install libevent
Теперь необходимо скачать исходники (их можно взять на этой странице [http://danga.com:80/memcached/download.bml]) и распаковать их.
Далее всё, как обычно:
Код:
/configure --help
Код:
./configure --prefix=/usr/local/memcached-1.4.1 --with-libevent=/opt/local
Код:
make
Код:
sudo make install
Код:
sudo ln -s /usr/local/memcached-1.4.1/ /usr/local/memcached
Теперь запускаем:
sudo /usr/local/memcached/bin/memcached -d -m 2048 -u nobody
Чтобы остановить Memcached, выполните команду
Код:
sudo killall memcached
Но недостаточно только установить этот daemon, — необходимо так же научить установленный у вас PHP работать с ним. Это делается при помощи внешнего расширения для PHP, которое нужно собрать, а затем указать PHP на необходимость его использования. Эта библиотека называется memcache и её исходные коды доступны для скачивания на этой странице. Скачайте и распакуйте архив. Теперь, используя терминал, перейдите в директорию с исходными текстами и подготовьте их к сборке, выполнив команду
Код:
/usr/local/php/bin/phpize
Дальше конфигурация:
Код:
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config
Важно подчеркнуть, что в опции --with-php-config обязательно нужно указать путь к утилите php-config вашего PHP, иначе библиотека будет сконфигурирована для PHP, установленного в Mac OS X Leopard по умолчанию.
После конфигурации выполните сборку и установку:
make && sudo make install
Теперь нужно указать вашему PHP на необходимость подключения нового расширения. Если вы устанавливали PHP используя это руководство, то файл php.ini расположен у вас в директории /usr/local/php/lib/
Отредактируйте его, дописав в конец файла всего одну строчку:
Код:
extension=memcache.so
Сохраните php.ini и перезапустите PHP. Теперь, чтобы убедиться, что у вас включена поддержка memcache, можете выполнить команду
Код:
/usr/local/php/bin/php -i | grep memcache
-Установка Xdebug
Xdebug — это расширение для PHP, позволяющее более детально отслеживать и анализировать работу PHP. Подробнее почитать об этом расширении, если вы с ним ещё не сталкивались, можно на странице документации по адресу xdebug.org/docs/. Сборка этого расширения практически такая же, как и сборка расширения memcache, речь о котором шла немного выше в этой теме. Скачайте с этой страницы архив с исходниками и распакуйте его. Перейдите в директорию с исходными текстами и выполните там команду:
Код:
/usr/local/php/bin/phpize
Теперь нужно сконфигурировать расширение:
Код:
./configure --enable-xdebug --with-php-config=/usr/local/php/bin/php-config
Как и в случае с memcache, очень важно указать правильный путь к php-config.
Теперь выполните сборку и установку расширения:
Код:
make && sudo make install
Осталось последнее действие: необходимо указать PHP использовать при работе Xdebug. Для этого откройте на редактирование php.ini и добавьте в конец файла вот такую строку
Код:
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
Теперь перезапустите PHP. Вот и всё, можете профилировать ваш код и искать в нём "узкие" места.
Intel Core i5 - 750 (4 Core / 4 Thread)
Asus P7P55D LE
2x4GB / 2x2GB - DDR III 2048 Mb 1600 Mhz PC-12800 Kingston HyperX
WD External 320GB
2 x PCI-E nVidia GTS 250 1024 Mb GigaByte Retail Zalman (GV-N250OC-1GI BOX)
[Profile]  [PM] 

Pandora ®

Longevity:
11 years
Posts:
69

Coda
Я перепробовал массу редакторов, но этот понравился мне больше всех. Вполне вероятно, что когда-то я пересмотрю свои предпочтения и выберу другое приложение, но на сегодняшний день Coda, несмотря на ряд недостатков, полностью удовлетворяет мои потребности. Этот редактор умеет:
  • подсвечивать достаточное количество синтаксисов (хотя, многие сейчас это умеют)
  • конвертировать текст из одной кодировки в другую
  • подключаться к удалённым серверам по разным протоколам (в частности, FTP/SFTP нужны как воздух)
  • поддерживает работу с SVN. отображает список изменённых файлов, и позволяет удобный выборочный commit
  • имеет встроенный терминал (хотя, я им крайне редко пользуюсь, предпочитая встроенный в систему Terminal.app)
  • при отсутствии SVN, позволяет указать локальную и удалённую копии проекта для удобного переноса изменений
  • имеет встроенный визуальный редактор CSS (с некоторыми глюками, правда, но очень удобный)
  • очень красиво отображает проекты (мелочь, а приятно. тем более, больше нигде такой идеи не видел)
  • отличное автодополнение (автозавершение) кода при ручном редактировании CSS-файлов
  • поддержка "книг" по нужным темам. не очень удобно реализовано и недоступно в оффлайне, но идея хорошая
Но, увы, есть у него и недочёты. Как серьёзные, так и не очень. Вот список тех, что время от времени мешают мне наслаждаться этим приложением в полную силу:
  • не самое лучше автодополнение PHP-кода (про class, function, public, private, final и ряд других элементов синтаксиса он не в курсе)
  • не анализирует файлы проекта на предмет классов и их методов/свойств, так что автодополнение для этих вещей отсутствует: всё нужно держать в голове
  • в общем-то, раз уж мы про классы, то про методы/свойства встроенных в PHP классов (скажем, MySQLi) автодополнение тоже не в курсе
  • не до конца реализована работа с SVN (например, svn:ignore через Coda не установить, а было бы удобно, историю правок тоже не посмотреть)
  • это платное приложение
- Navicat
Это лучший, на мой взгляд, инструмент для работы с базами данных MySQL и PostgreSQL. В нём есть абсолютно всё, что нужно, для выполнения самого широкого спектра задач, связанных с работой с вашими данными: туннелирование, редактор запросов, синхронизация структуры и данных, импорт/экспорт. Но, обо всём по порядку. Итак, к преимуществам этого приложения можно отнести следующие возможности:
  • HTTP- и SSH-туннели (кто не в курсе, это удобный способ соединения с БД, когда сервер БД принимает соединения только на localhost)
  • отображение выборок в виде удобной структуры TableView, где данные можно быстро отредактировать
  • экспорт выбранных данных во множество форматов
  • импорт данных в таблицы
  • перенос структур таблиц, данных, процедур и функций между базами данных на разных серверах
  • сравнение и синхронизация всего перечисленного в предыдущем пункте между разными серверами
  • управление пользователями и их привилегиями
  • управление событиями
  • быстрое создание и восстановление бэкапов и восстановление из них
  • ...
Этот список можно продолжать ещё очень-очень долго. Инструменты для работы с данными от Navicat действительно хороши настолько, что мне, пожалуй, остаётся записать в минус им только одно свойство: они небесплатны. :)
Прочитать подробнее об этих программах и получить полнофункциональные версии с ограниченным периодом действия можно на официальном сайте компании Navicat.
Intel Core i5 - 750 (4 Core / 4 Thread)
Asus P7P55D LE
2x4GB / 2x2GB - DDR III 2048 Mb 1600 Mhz PC-12800 Kingston HyperX
WD External 320GB
2 x PCI-E nVidia GTS 250 1024 Mb GigaByte Retail Zalman (GV-N250OC-1GI BOX)
[Profile]  [PM] 
Display posts from previous:    

The time now is: Today 15:43

All times are GMT + 4 Hours



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum