How to install php-5.2 fpm on Ubuntu and Zend Optimizer
1. add apt key
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 19803648C18789EA
2. add the source into /etc/apt/source.list. the source is only avaiable for hardy and lucid version.
deb http://ppa.launchpad.net/jdub/ppa/ubuntu lucid main
root@ubuntu:~# apt-get update
root@ubuntu:~# apt-cache search php52
php52-pear - PEAR - PHP Extension and Application Repository
libapache2-mod-php52 - server-side, HTML-embedded scripting language (Apache 2 module)
php52 - server-side, HTML-embedded scripting language
php52-dev - Files for PHP5 module development
php52-fpm - server-side, HTML-embedded scripting language (FastCGI Manager)
php52-apc - Alternative PHP Cache
php52-common - server-side, HTML-embedded scripting language
php52-xdebug - Function traces and profiling for PHP
php52-cairowrapper - Cairo Wrapper Extension
php52-ioncube - ionCube Loader for PHP
3. install the fpm package
apt-get update
apt-get install php52-common php52-dev php52-fpm php52
4. vi /etc/init.d/php52-fpm
change the line
php_fpm_CONF=/etc/php53/php-fpm.conf
to
php_fpm_CONF=/etc/php52/php-fpm.conf
change the line
php_fpm_PID=/var/run/php52-fpm.pid
to
php_fpm_PID=/var/run/php-fpm.pid
4. edit the php fpm configure file : /etc/php52/php-fpm.conf
<?xml version="1.0" ?>
<configuration>
<section name="global_options">
<value name="pid_file">/var/run/php-fpm.pid</value>
<value name="error_log">/var/log/php-fpm.log</value>
<value name="log_level">notice</value>
<value name="emergency_restart_threshold">10</value>
<value name="emergency_restart_interval">1m</value>
<value name="process_control_timeout">5s</value>
<value name="daemonize">yes</value>
</section>
<workers>
<section name="pool">
<value name="name">default</value>
<value name="listen_address">/tmp/php-fcgi.sock</value>
<value name="listen_options">
<value name="backlog">-1</value>
<value name="owner"></value>
<value name="group"></value>
<value name="mode">0666</value>
</value>
<value name="php_defines">
<value name="sendmail_path">/usr/sbin/sendmail -t -i</value>
<value name="display_errors">0</value>
</value>
<value name="user">www-data</value>
<value name="group">www-data</value>
<value name="pm">
<value name="style">apache-like</value>
<value name="max_children">15</value>
<value name="apache_like">
<value name="StartServers">5</value>
<value name="MinSpareServers">5</value>
<value name="MaxSpareServers">15</value>
</value>
</value>
<value name="request_terminate_timeout">0s</value>
<value name="request_slowlog_timeout">0s</value>
<value name="slowlog">logs/slow.log</value>
<value name="rlimit_files">65535</value>
<value name="rlimit_core">0</value>
<value name="chroot"></value>
<value name="chdir"></value>
<value name="catch_workers_output">yes</value>
<value name="max_requests">1024</value>
<value name="allowed_clients">127.0.0.1</value>
<value name="environment">
<value name="HOSTNAME">$HOSTNAME</value>
<value name="PATH">/usr/local/bin:/usr/bin:/bin</value>
<value name="TMP">/tmp</value>
<value name="TMPDIR">/tmp</value>
<value name="TEMP">/tmp</value>
<value name="OSTYPE">$OSTYPE</value>
<value name="MACHTYPE">$MACHTYPE</value>
<value name="MALLOC_CHECK_">2</value>
</value>
</section>
</workers>
</configuration>
5.Install Zend Optimizer
wget http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
tar zxf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
cp ZendOptimizer-3.3.9-linux-glibc23-x86_64/data/5_2_x_comp/ZendOptimizer.so /usr/lib/php52/20060613/
add the following line to /etc/php52/fpm/php.ini
zend_extension=/usr/lib/php52/20060613/ZendOptimizer.so
6. start the php-fpm start
/etc/init.d/php52-fpm restart