前言:这两天闲着没事,就想学一下ThinkPHP。学习ThinkPHP要先安装好Apache、MySQL 、PHP等运行环境。
为了方便起见,打算就用集成环境。ThinkPHP官方网站推荐的是“WAMP”,用起来确实也很方便,但是修改Apache配置文件http.conf时,总是以“记事本”打开,改起来极为不便。于是就寻思着换其他的集成环境,尝试过“XAMPP”之后看到了“APMServ”。因为“XAMPP”是英文的,所以毅然的选择了“APMServ”。
安装好APMServ之后,用起来确实挺爽,修改配置什么的都比较方便。就是集成的东西有点多,但不启用也不会影响什么,总体还是比较满意的。
可是运行ThinkPHP的时候又出现了新的问题:PHP要求版本至少是5.3的。目前APMServ的PHP版本只是5.2.6,满足不了需求,怎么办?难道只能用“WAMP”或者“XAMPP”?怎么才能使ThinkPHP在APMServer环境下正常运行呢?升级PHP版本?没错,就是升级版本,既然官方没有升级,那就自己升级呗。
百度“APMServ5.2.6 php升级”,很多文章都是千篇一律,说的也不够详细。谷歌最近也不能用,只能“死马当活马医”了,选了其中的一篇尝试升级。折腾了一会终成功了。下面对这次升级进行总结:
第一步:下载PHP新版本
首先要明确:选择什么版本的PHP?
如果你是在windows下使用Apache+PHP的,请选择VC6版本;
如果你是在windows下使用IIS+PHP的,请选择VC9或者VC11版本。
因为APMServ使用的是Apache+PHP,所以只能下载VC6版本的PHP。
在PHP官网查看了一下,下载最新的VC6版本:php-5.3.0-Win32-VC6-x86.zip
第二步:更新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”目录下,遇到重复文件,覆盖。
最后将原来的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成功了。