1.下载php 5.6.40 源码 并上传到内网服务器
http://hk2.php.net/distributions/php-5.6.40.tar.gz
2.解压源码
tar -zxvf php-5.6.40.tar.gz
3.设置编译参数
./php -i|grep configure #通过原来的php获取原来编译参数
将引号全部替换为空
粘贴替换好的参数 示例如下 内网36.227
./configure --prefix=/phpstudy/server/php --with-config-file-path=/phpstudy/server/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-fpm --enable-sockets --enable-zip --enable-calendar --enable-bcmath --enable-soap --with-zlib --with-iconv=/usr/local/libiconv --with-gd --with-xmlrpc --enable-mbstring --with-curl=/usr/local/curl --enable-ftp --with-mcrypt --without-pear --with-freetype-dir=/usr/local/freetype.2.5.0 --with-jpeg-dir=/usr/local/jpeg.6 --with-png-dir=/usr/local/libpng.1.2.50 --disable-ipv6 --disable-debug --with-openssl
4.make && make install
执行完以上操作基本可以解决绝大多数的问题,一些小问题碰到再解决吧,这个问题花了我一天的时间,记录一下。
后续:
晚上10点我对生产库执行以上操作完毕后,由于我数据库是mysql的所以绝大多数的功能正常,但是 连接Oracle的 oci8 不能初始化,导致无法连接到oracle数据库
解决方法,我到http://pecl.php.net/package/oci8下载了 oci8-2.0.5.tgz,我没有下载太高的版本,怕不兼容
tar
-zxvf oci8-2.0.5.tgz
cd
oci8-2.0.5
/phpstudy/server/php/bin/phpize
./configure --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib
make
make
install
重新执行 php -v 不再提示 NOTICE: PHP message: PHP Warning: PHP Startup: oci8: Unable to initialize module
执行 service phpstudy start
升级完毕
记录下最早编译oci8 1.4版本的安装过程
oracle 客户端安装
[root@localhost oci8Setup]# vi setup.txt
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
vi /etc/profile
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64/bin
export PATH=$ORACLE_HOME:$PATH
export TNS_ADMIN=/oracle/client
NLS_LANG=american_america.ZHS16GBK
export NLS_LANG
source /etc/profile
yum install gcc
cd /root/oci8Setup/oci8-1.4.10
/phpstudy/server/php/bin/phpize
./configure --with-php-config=/phpstudy/server/php/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib
make
make install