Kompilacja PHP 5.6.15 z modułami

PHP_Logo
Witam,
Dziś o kompilacji języka PHP wraz z modułami, jako że wydawcy dystrybucji dostarczają nam wersje nie zawsze świeże i aktualne, a doinstalowywane dodatkowych modułów osobno wpływa na wydajność postanowiłem opisać jak skompilować PHP wraz z wieloma przydatnymi modułami w systemach Debian / Ubuntu.

Kompilacja nie ma negatywnego wpływu na posiadaną już w systemie instalację PHP. Dzięki temu możemy mieć wiele wrsji PHP w systemie np. jeśli jakaś witryna wymaga nowszej bądź starszej wersji.

Dziś wersja PHP najnowsza bezpośrednio od autorów.

Wkompilowane moduły:

'./configure' '--prefix=/opt/php-5.6.15' '--enable-fpm' '--enable-opcache' '--enable-memcache' '--with-gd' '--enable-intl' '--enable-gd-native-ttf=/usr' '--with-png-dir=/usr' '--with-mysqli=/usr/bin/mysql_config' '--enable-wddx' '--with-config-file-path=/opt/php-5.6.15/etc' '--enable-sigchild' '--enable-short-tags' '--disable-rpath' '--enable-libgcc' '--with-zlib=/usr' '--enable-bcmath' '--enable-calendar' '--with-curl=/usr' '--with-gdbm=/usr' '--enable-ftp' '--with-gettext=/usr' '--with-imap' '--with-kerberos' '--with-imap-ssl' '--with-mcrypt=/usr' '--with-mhash=/usr' '--with-mysql=/usr' '--with-jpeg-dir=/usr' '--enable-exif' '--with-regex=system' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-zip' '--enable-inline-optimization' '--enable-soap' '--enable-mbstring' '--enable-mbregex' '--with-gnu-ld' '--with-libxml-dir' '--enable-shared=yes' '--enable-static=yes' '--with-xsl=/usr' '--enable-sockets' '--with-xmlrpc' '--with-iconv' '--enable-pdo' '--with-pdo-mysql=/usr' '--with-pdo-pgsql=/usr' '--with-xpm-dir=/usr' '--with-pcre-regex' '--with-freetype-dir=/usr' '--with-pspell' '--with-pgsql=/usr' '--with-bz2' '--with-gmp'

Sposób sprawdzony na systemie Debian 8 oraz Ubuntu 14.04 dla Ubuntu 15.04 różnic względem Debiana 8 nie powinno być.

1. Instalacja wymaganych pakietów:

apt-get update; 
apt-get install make gcc g++ openssl libxml2 libxml2-dev zlib1g-dev bzip2 libbz2-dev libcurl4-gnutls-dev libpng12-dev libfreetype6-dev libmcrypt-dev libmysqlclient-dev lemon libtidy-dev libxslt1-dev libpcre++-dev libssl-dev automake autoconf libfcgi-dev libfcgi0ldbl libmcrypt-dev libssl-dev libc-client2007e libc-client2007e-dev libxml2-dev libbz2-dev libjpeg-dev libpng12-dev libfreetype6-dev libkrb5-dev libpq-dev libxml2-dev libxslt1-dev libgdbm-dev libgmp-dev libgmp3-dev libicu-dev libmysql++-dev libpspell-dev  -y
ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h 

1.1 Dla Ubuntu 14.04

apt-get install  libt1-dev -y

1.2 Debian 8

apt-get install libcurl4-openssl-dev pkg-config libxpm-dev -y

2. Pobieranie źródeł

wget http://pl1.php.net/get/php-5.6.15.tar.gz/from/this/mirror -O php-5.6.15.tar.gz
tar xvf  php-5.*.tar.gz
mv php-5.6.15 php-5.6.15-src
mv php-5.6.15* /opt/ ; cd /opt/php-5.6.15-src

3. Konfiguracja

3.1 Ubuntu 14.04

wget http://pliki.linuxiarz.pl/11-2015/configure_php5.sh -O configure.sh
chmod +x configure.sh
bash configure.sh
make -j2
make install

3.2 Debian 8

wget http://pliki.linuxiarz.pl/11-2015/configure_php5_deb.sh -O configure.sh
chmod +x configure.sh
bash configure.sh
make -j2
make install

4. Skrypt startowy

wget http://pliki.linuxiarz.pl/11-2015/init_php-5.16.15 -O /etc/init.d/php-5.6.15-fpm
chmod +x /etc/init.d/php-5.6.15-fpm

5. Konfiguracja

wget http://pliki.linuxiarz.pl/11-2015/php5_source.ini -O /opt/php-5.6.15/etc/php.ini 
wget http://pliki.linuxiarz.pl/08-2015/php5/opcache.so -O /opt/php-5.6.15/etc/opcache.so 
wget http://pliki.linuxiarz.pl/08-2015/php5/ioncube_loader_lin_5.6.so -O /opt/php-5.6.15/etc/ioncube_loader_lin_5.6.so
rm /opt/php-5.6.15/etc/php-fpm.conf ; 
wget http://pliki.linuxiarz.pl/11-2015/php-fpm.conf -O /opt/php-5.6.15/etc/php-fpm.conf
mkdir -p /opt/php-5.6.15/pool.d/
wget http://pliki.linuxiarz.pl/11-2015/www_pool.conf -O /opt/php-5.6.15/pool.d/www.conf
/etc/init.d/php-5.6.15-fpm start

Restart

/etc/init.d/php-5.6.15-fpm restart

Uruchamianie przy starcie

update-rc.d php-5.6.15-fpm defaults