1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 # 安裝 PHP 5.3.6 wget http://hk2.php.net/get/php-5.3.6.tar.gz/from/hk.php.net/mirror tar zxvf php-5.3.6.tar.gz cd php-5.3.6 ./configure --prefix=/usr/local/php5-cgi --enable-fpm --with-libxml-dir --with-openssl --with-zlib --with-curl --with-curlwrappers --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir= --enable-gd-native-ttf --enable-gd-jis-conv --enable-mbstring --with-mcrypt --with-mhash --with-mysql=/usr/local/mysql5 --with-mysqli=/usr/local/mysql5/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql5 --enable-pcntl --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-sockets --enable-sqlite-utf8 --with-libxml-dir --enable-zend-multibyte --disable-rpath --with-pcre-dir make -j4 make install # 修改 php-fpm.conf 因為新版本已經不再使用 XML 而改為 INI mv /usr/local/php5-cgi/etc/php-fpm.conf /usr/local/php5-cgi/etc/php-fpm.conf.bak cp /usr/local/php5-cgi/etc/php-fpm.conf.default /usr/local/php5-cgi/etc/php-fpm.conf vim /usr/local/php5-cgi/etc/php-fpm.conf # 根據下面的資料修改裡面的內容 [global] pid = /usr/local/php5-cgi/logs/php-fpm.pid error_log = /usr/local/php5-cgi/logs/php-fpm.log emergency_restart_threshold = 10 emergency_restart_interval = 1m process_control_timeout = 5s daemonize = yes ;Pool Definitions [default] listen = 127.0.0.1:9000 listen.backlog = -1 listen.mode = 0666 user = !!!!! group = !!!!! pm = static pm.max_children = 5 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 120 slowlog = log/$pool.log.slow rlimit_files = 1024 rlimit_core = 0 # 從 PHP source 中建立 php-fpm 的管理 shell script cp -f sapi/fpm/init.d.php-fpm /usr/local/php5-cgi/php-fpm.sh chmod 755 /usr/local/php5-cgi/php-fpm.sh # 修改 php-fpm.sh 裡面的 PID 檔案 vim /usr/local/php5-cgi/php-fpm.sh + php_fpm_PID=${prefix}/logs/php-fpm.pid - #php_fpm_PID=${prefix}/var/run/php-fpm.pid # 修改 /etc/rc.local 加入 /usr/local/php5-cgi/php-fpm.sh start # 重開現有的 PHP /usr/local/php5-cgi/php-fpm.sh stop /usr/local/php5-cgi/php-fpm.sh start # 另外重開後可能會出現錯誤,這是由於某些參數已不存在於 php.ini # 這時候只需要在 php.ini 相應參數前加上 ; 則可 # 重新安裝 eaccelerator wget "http://downloads.sourceforge.net/project/eaccelerator/eaccelerator/eAccelerator%200.9.6.1/eaccelerator-0.9.6.1.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Feaccelerator%2Ffiles%2F&ts=1310995800&use_mirror=nchc" unzip eaccelerator-0.9.6.1.zip cd eaccelerator-0.9.6.1 /usr/local/php5-cgi/bin/phpize ./configure --with-php-config=/usr/local/php5-cgi/bin/php-config make make install # 修改 extension_path extension_dir = "/usr/local/php5-cgi/lib/php/extensions/no-debug-non-zts-20090626/" # 再重開 php-fpm /usr/local/php5-cgi/php-fpm.sh restart # 如果發現 phpinfo 中沒有正確出現上面的 eaccelerator # 可以查看一下 include_path 是否有錯 # 至於 Zend Optimizer 的安裝應該被改名了.暫時已用不上所以先暫停安裝 # 到目前為止應該算是升級成功了
參考:http://xfeng.me/upgrade-php-and-eaccelerator/