18 сентября 2010 г. Linux Memcached PECL PHP php-fpm Redis SphinxSearch Ubuntu

Ubuntu. Ставим расширения для PHP 5.3

В продолжении темы установки PHP 5.3 на Ubuntu опишу установку некоторых расширений для пыха. Меня это попросили сделать и прислали список расширений, однако некоторые из этих расширений я тоже пользую ежедневно, так что они должны пригодится и вам.

Собираем сессии

Вы можете указать при сборке пыха --enable-session:

./configure --enable-session

Либо соберите отдельно, например уже после установки:

cd php_5_3_fpm/ext/session
phpize
./configure
make && make install

Установка MySQL и MySQLi

MySQL и MySQLi собирается аналогично сессиям, двумя путями, первый при сборке пыха:

./configure --with-mysql=/usr/bin/mysql_config --with-mysqli=mysqlnd

тут я собирал уже оба расширения во время установки PHP

Второй при сборке после установки:

cd php_5_3_fpm/ext/mysql
phpize && ./configure && make && make install
cd php_5_3_fpm/ext/mysqli
phpize && ./configure && make && make install

Установка IMagick

Выберите подходящую версию http://pecl.php.net/package/imagick, я использовал саму новую.

apt-get install libmagickwand-dev
cd /tmp
wget http://pecl.php.net/get/imagick-3.0.0RC1.tgz
tar -xzvf imagick-3.0.0RC1.tgz
cd imagick-3.0.0RC1
phpize
./configure
make && make install

Установка GD

cd php_5_3_fpm/ext/gd
phpize
./configure
make && make install

Установка cURL

apt-get install libcurl3-dev
cd php_5_3_fpm/ext/curl
phpize
./configure
make && make install

Установка mcrypt

cd php_5_3_fpm/ext/mcrypt
phpize
aclocal
./configure
make && make install

Установка SphinxClient

wget http://www.sphinxsearch.com/downloads/sphinx-1.10-beta.tar.gz
tar -xzf sphinx-1.10-beta.tar.gz
cd sphinx-1.10-beta
cd ./api/libsphinxclient/
./buildconf.sh
./configure && make install

Если будут ошибки типа:

sphinxclient.c:1356: error: 'SO_NOSIGPIPE' undeclared (first use in this function)

то вот вам инструкция http://www.sphinxsearch.com/bugs/view.php?id=550, там есть патч, который надо применить для sphinx-1.10-beta/api/libsphinxclient/sphinxclient.c.

Установка DOM

cd php_5_3_fpm/ext/dom
phpize
./configure
make && make install

Установка JSON

cd php_5_3_fpm/ext/json
phpize
./configure
make && make install

Установка mbstring

cd php_5_3_fpm/ext/mbstring
phpize
./configure
make && make install

Установка iconv

cd php_5_3_fpm/ext/iconv
phpize
./configure
make && make install

Установка gettext

cd php_5_3_fpm/ext/gettext
phpize
./configure
make && make install

Установка PCRE

./configure --with-pcre-regex=DIR

Установка SOAP

./configure --enable-soap

или


cd php_5_3_fpm/ext/soap
phpize
./configure
make && make install

Установка Memcached

Качаем от сюда http://pecl.php.net/package/memcached самое свежее расширение.


wget http://pecl.php.net/get/memcached-1.0.2.tgz
tar xzvf memcached-1.0.2.tgz
cd memcached-1.0.2
phpize
./configure --with-libmemcached-dir=DIR
make && make install

Установка PHPRedis

Качаем отсюда расширение http://github.com/owlient/phpredis/downloads.


wget -O owlient-phpredis-1.2.0.tgz http://github.com/owlient/phpredis/tarball/1.2.0
tar xzvf owlient-phpredis-1.2.0.tgz
cd owlient-phpredis-2675d15
./configure
make && make install

Установка xDebug

Заходим сюда http://xdebug.org/download.php и качаем необходимое нам расширение.


wget http://xdebug.org/files/xdebug-2.1.0.tgz
tar xzvf xdebug-2.1.0.tgz
cd xdebug-2.1.0
./configure
make && make install

Далее посмотрите доку по 2-ой версии и посетите страницу по конфигурации PHP для использования xDebug.

Установка BCMath


cd php_5_3_fpm/ext/bcmath
phpize
./configure
make && make install

Установка runkit

Заходим на страницу загрузок pecl расширения runkit, выбираем самую свежую версию и качаем ее.


wget http://pecl.php.net/get/runkit-0.9.tgz
tar xzvf runkit-0.9.tgz
cd runkit-0.9
phpize
./configure
make && make install

Установка parsekit

Заходим на страницу загрузок pecl расширения parsekit, выбираем самую свежую версию и качаем ее.


wget http://pecl.php.net/get/parsekit-1.3.0.tgz
tar xzvf parsekit-1.3.0.tgz
cd parsekit-1.3.0
phpize
./configure
make && make install

На последок

Не забываем прописывать модули в php.ini, например:


; ...
extension=gd.so
extension=xdebug.so
; ...

Комментарии

Малаца! А теперь о том, как установить всё это из нормального транка )

Адво вернулся)))

vasa_c, точно так же как и из любого :) Что тебя настараживает?

CTAPbIu_MABP, ага, сейчас буду все 20-ть черновиков дописывать :)
Еще хочу переделать екстейшен для вордпресса и проекты делать свои :)

Ну ты писал, как установить PHP-FPM через задницу, а теперь его можно установить официально.

vasa_c, это не через задницу, это я считаю более правильно, так как контролируется полнтью процесс. Ты и переписать что можешь или пропатчить, собрать с нужными ключами, а не по дефолту... А если ты о apt, то так и ставь apt-get install <расширение>, об этом статью не имеет смысла писать

В данном случае описан процесс как делать НЕ нужно. Такой подход противоречит сути пакетного дистрибутива и в long run перспективе не поддается поддержке.

Если требуется установить какое-либо расширение с дополнительными ключами, необходимо завести локальный APT/RPM-репозиторий с локальными модификациями. Другие варианты подходят только администрирования localhost(a).

Такой подход противоречит сути пакетного дистрибутива и в long run перспективе не поддается поддержке.
цель поддержки и не преследовалась, это все ставилось на машинку для разработки и в дальнейшем разработчик в состоянии сам все менять

Во FreeBSD это делается в 1 команду :)

Через спец порт со всеми расширениями?

runkit у вас не поставится

Оставьте свой комментарий

Markdown