19 февр. 2013 г.

Сборка php 5.4

Как то понадобилось установить php 5.4 на машину под управлением Opensuse 11.4, но актуально так же и для текущей 12.1, т.к. на текущий момент в офф репозитории есть только версия 5.3.15 .

Для установки частично использовались библиотеки из репозиториев, которые не сильно устарели, частично - собирались вручную. Сборка и установка производилась на тестовой машине c Intel Atom на борту под управлением opensuse 11.4 x86_64.
Установлены из репозиториев следующие вещи:

# zypper in libmcrypt libmcrypt-devel libedit0 libedit-devel recode recode-devel libxslt-devel libxslt
Далее был установлен re2c необходимый для парсеров:
> wget 'http://downloads.sourceforge.net/project/re2c/re2c/0.13.5/re2c-0.13.5.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fre2c%2F&ts=1355763699&use_mirror=freefr'
> tar -xf re2c-0.13.5.tar.gz
> cd re2c-0.13.5
> ./configure --prefix=/usr CFLAGS='-march=atom -mtune=atom'
> make
> sudo /usr/sbin/checkinstall -R -install
> cd ../

Сборка aspell и словарей( на всякий случай, а вдруг пригодится):
> wget ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.1.tar.gz
> tar -xf aspell-0.60.6.1.tar.gz
> cd aspell-0.60.6.1
> ./configure --prefix=/usr CFLAGS='-march=atom -mtune=atom'
> make
> sudo /usr/sbin/checkinstall -R -install
> cd ../
> wget ftp://ftp.gnu.org/gnu/aspell/dict/be/aspell5-be-0.01.tar.bz2
> cd aspell5-be-0.01/
> ./configure
> make
> sudo /usr/sbin/checkinstall -R -install
> cd ../
> wget ftp://ftp.gnu.org/gnu/aspell/dict/ru/aspell6-ru-0.99f7-1.tar.bz2
> tar -xf aspell6-ru-0.99f7-1.tar.bz2
> cd aspell6-ru-0.99f7-1
> ./configure
> make
> sudo /usr/sbin/checkinstall -R -install
> cd ../
> wget ftp://ftp.gnu.org/gnu/aspell/dict/en/aspell6-en-7.1-0.tar.bz2
> tar -xf .tar.bz2
> cd aspell6-en-7.1-0
> ./configure
> make
> sudo /usr/sbin/checkinstall -R -install
> cd ../

Сборка enchant для работы с aspell (или с другими словарями):
> wget 'http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz'
> tar -xf enchant-1.6.0.tar.gz
> cd enchant-1.6.0
> ./configure --prefix=/usr CFLAGS='-march=atom -mtune=atom'
> make
> sudo /usr/sbin/checkinstall -R -install
> cd ../

Сборка icu для поддержки юникода и глобализации:
> wget http://download.icu-project.org/files/icu4c/50.1/icu4c-50_1-src.tgz
> tar -xf icu4c-50_1-src.tgz
> wget http://download.icu-project.org/files/icu4c/50.1/icu4c-50_1-data.zip
> cd icu
> unzip ../icu4c-50_1-data.zip
> cd source
> ./configure --prefix=/usr CFLAGS='-march=atom -mtune=atom'
> make
> sudo /usr/sbin/checkinstall -R -install
> cd ../..

Сборка recode для преобразования кодировок:
> wget -O - https://nodeload.github.com/pinard/Recode/zip/master > Recode-master.zip
> unzip Recode-master.zip
> cd Recode-master
> ./configure --prefix=/usr CFLAGS='-march=atom -mtune=atom'
> make
> sudo /usr/sbin/checkinstall -R -install
> cd ../

И как логическое завершение - сборка и установка php 5.4:
> wget 'http://www.php.net/get/php-5.4.11.tar.bz2/from/de1.php.net/mirror'
> tar -xf php-5.4.11.tar.bz2
> cd php-5.4.11
> ./configure --with-apxs2=/usr/sbin/apxs2 --with-libdir=lib64 --with-mysql --prefix=/usr CFLAGS='-march=atom -mtune=atom' --enable-cgi --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --disable-pdo --with-curl --disable-rpath --enable-inline-optimization --with-bz2 --enable-xml --enable-libxml --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --with-xsl --enable-zip --with-pcre-regex --with-config-file-scan-dir=/etc/php5/conf.d

> make
> sudo /usr/sbin/checkinstall -R -install
> cd ../

PS: в дополнение - необходимо было пересобрать драйвер для mongodb:
> wget -O - https://github.com/mongodb/mongo-php-driver/archive/master.zip > mongo.zip
> unzip mongo.zip
> cd mongo-php-driver-master/
> phpize
> ./configure
> make
> make install


Комментариев нет: