APMServ5.2.6升级PHP

前言:这两天闲着没事,就想学一下ThinkPHP。学习ThinkPHP要先安装好Apache、MySQL 、PHP等运行环境。php

为了方便起见,打算就用集成环境。ThinkPHP官方网站推荐的是“WAMP”,用起来确实也很方便,可是修改Apache配置文件http.conf时,老是以“记事本”打开,改起来极为不便。因而就寻思着换其余的集成环境,尝试过“XAMPP”以后看到了“APMServ”。由于“XAMPP”是英文的,因此毅然的选择了“APMServ”。mysql

安装好APMServ以后,用起来确实挺爽,修改配置什么的都比较方便。就是集成的东西有点多,但不启用也不会影响什么,整体仍是比较满意的。sql

但是运行ThinkPHP的时候又出现了新的问题:PHP要求版本至少是5.3的。目前APMServ的PHP版本只是5.2.6,知足不了需求,怎么办?难道只能用“WAMP”或者“XAMPP”?怎么才能使ThinkPHP在APMServer环境下正常运行呢?升级PHP版本?没错,就是升级版本,既然官方没有升级,那就本身升级呗。windows

百度“APMServ5.2.6 php升级”,不少文章都是千篇一概,说的也不够详细。谷歌最近也不能用,只能“死马当活马医”了,选了其中的一篇尝试升级。折腾了一会终成功了。下面对此次升级进行总结:session

第一步:下载PHP新版本

首先要明确:选择什么版本的PHP?
若是你是在windows下使用Apache+PHP的,请选择VC6版本;
若是你是在windows下使用IIS+PHP的,请选择VC9或者VC11版本。curl

由于APMServ使用的是Apache+PHP,因此只能下载VC6版本的PHP。
PHP官网查看了一下,下载最新的VC6版本:php-5.3.0-Win32-VC6-x86.zip socket

 第二步:更新PHP文件

将下载好的PHP文件解压缩,解压缩的文件夹“php-5.3.0-Win32-VC6-x86”复制到APMServ5.2.6的根目录,我这里是放在“D:\APMServ5.2.6”。学习

而后将原来“PHP”目录下的”ext “和”extras“文件夹复制到“php-5.3.0-Win32-VC6-x86”目录下,遇到重复文件,不要覆盖。网站

还有原来”PHP“目录下的“libmcrypt.dll”、“libmhash.dll”和“libmysql.dll”三个文件复制到“php-5.3.0-Win32-VC6-x86”目录下,遇到重复文件,覆盖。url

最后将原来的PHP文件备份,我这里是重命名为“PHP_backup”;还要将“php-5.3.0-Win32-VC6-x86” 重命名为:“PHP”。

第三步:修改配置文件

将“PHP”目录下的“php.ini-production”文件重命名为:“php.ini”。

打开文件,找到:

short_open_tag = Off

修改成:

short_open_tag = On

找到:

; extension_dir = "./"
; On windows:
; extension_dir = "ext"

修改成:

extension_dir = "D:/APMServ5.2.6/PHP/ext"

注:这里的路径根据实际状况填写。

找到:

;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_fileinfo.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_exif.dll      ; Must be after mbstring as it depends on it
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll  ; Use with Oracle 11g Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_phar.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll

将前面的“;”根据须要去掉,我这里是去除了全部的“;”,表示开启全部拓展。不熟悉php的话,建议去除全部的“;”。

extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_intl.dll
extension=php_imap.dll
extension=php_interbase.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_oci8.dll
extension=php_oci8_11g.dll
extension=php_openssl.dll
extension=php_pdo_firebird.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
extension=php_pspell.dll
extension=php_shmop.dll
extension=php_snmp.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite.dll
extension=php_sqlite3.dll
extension=php_sybase_ct.dll
extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
extension=php_zip.dll

最后在文档末尾添加下面的代码:

[eaccelerator]
zend_extension_ts="D:/APMServ5.2.6/zend/eAccelerator/eaccelerator.dll"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="D:/APMServ5.2.6/tmp/eaccelerator/"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0" 
eaccelerator.shm_prune_period="0"  
eaccelerator.shm_only="0" 
eaccelerator.compress="1"
eaccelerator.compress_level="9"
eaccelerator.keys = "shm" 
eaccelerator.sessions = "shm"

[Zend]
zend_optimizer.optimization_level=1023
zend_optimizer.encoder_loader=1
zend_extension_ts="D:/APMServ5.2.6/zend/ZendOptimizer-3.3.3/php-5.2.x/ZendOptimizer.dll"

到这里,APMServ5.2.6就已经升级PHP成功了。