将php5.2升级至php5.3.19

工作记录

由于有些应用需要php的新功能,所以必需升级现有php。
系统:freebsd8.2   原Php 5.2.17

1,建立个phpinfo.php文件。
<?php
phpinfo();
?>


2,访问phpinfo.php,得到原来php的一些配置参数。
也可以用php -i |grep configure命令来得到
'./configure' '--prefix=/usr/local/services/php5' '--with-gd=/usr/local/support/gd2' '--with-apxs2=/usr/local/services/apache/bin/apxs' '--enable-mbregex' '--enable-bcmath' '--with-mysql=/usr/local/services/mysql' '--with-libxml-dir=/usr/local/support/libxml2' '--with-zlib-dir=/usr/lib' '--with-freetype-dir=/usr/local/support/freetype' '--with-jpeg-dir=/usr/local/support/jpeg6' '--with-png-dir=/usr/local/bin' '--with-curl=/usrl/local/support/curl' '--enable-sockets' '--enable-mbstring' '--enable-ftp'

3,解压新版本后按上述参数重新编译。
注意,升级时有些参数可能有变化,不一定上次编译参数全部可行。但我这里试过全部都可以的。
另外,在5.3的版本之后,不再需要打php-fpm的补丁,php5.3版已自动集成该补丁,可以用  --enable-fpm  --with-fpm-user --with-fpm-group 三个参数来打开fpm管理并指定管理者用户是谁。但要注意的是,该参数不能与--with-apxs2同时全用。由于我们不需要php-fpm来管理,所以就不编译了,直接照搬上面的编译参数就行了。

 

4,编译完成后从编译目录拷贝Php.ini样本文件到安装目录的lib下面。

5,安装mong,memcache扩展
注意:在安装扩展的时候,要把扩展包重新解压后再./configure。不要在原来已经configure过的目录下直接./configure否则可能造成扩展安装失败,明明有so文件了,但却发现仍然没被php支持。
其中Libevent需要先安装
 tar zxvf memcache-3.0.6.tgz
cd memcache-3.0.6/
/opt/local/php/bin/phpize
./configure --with-php-config=/opt/local/php/bin/php-config
make
make install
cd ../

 

安装mongo扩展

tar zxvf mongo-1.2.10.tgz

cd mongo-1.2.10

/opt/local/php/bin/phpize

./configure --with-php-config=/opt/local/php/bin/php-config

make

make install

cd ../

6,修改php.ini
php.ini error_reporting = E_ALL & ~E_NOTICE
extension_dir = "/usr/local/services/php5/lib/php/extensions/no-debug-non-zts-20090626"
 date.timezone ="Asia/Shanghai"
extension=memcache.so
extension=mongo.so
 

7,重启apache

 

你可能感兴趣的:(php升级)