zz22 发表于 2018-12-20 09:52:31

将php5.2升级至php5.3.19

  工作记录
  由于有些应用需要php的新功能,所以必需升级现有php。
系统:freebsd8.2   原Php 5.2.17
  1,建立个phpinfo.php文件。

  
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



页: [1]
查看完整版本: 将php5.2升级至php5.3.19