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