前言:这两天闲着没事,就想学一下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成功了。

APMServ5.2.6升级PHP的更多相关文章

  1. APMServ5.2.6 升级php5.2 到 5.3版本及Memcache升级!

    一.如何选择PHP5.3的VC9版本和VC6版本 VC6是什么?VC6就是legacy Visual Studio 6  compiler,就是使用这个编译器编译的.VC9是什么?VC9就是the V ...

  2. APMServ5.2.6 升级PHP版本 到高版本 5.3,5.4

    首先下载:http://windows.php.net/downloads/releases/php-5.3.28-Win32-VC9-x86.zip  Thursday, December 12, ...

  3. APMServ升级php 与 Wamp升级PHP版本到5.3

    方法一:(我亲测试,没问题)首先下载:php-5.3.1-Win32-VC6-x86.ziphttp://windows.php.net/downloads/releases/archives/ 解压 ...

  4. APMServ升级PHP至5.3

    APMServ5.2.6 的php版本是php5.2.6,所以需要升级一下PHP版本:1.到 php下载地址下载PHP5.3的VC6版本的zip文件,我下载的是:php-5.3.23-Win32-VC ...

  5. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  6. 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!

    看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...

  7. Entity Framework Core 1.1 升级通告

    原文地址:https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-entity-framework-core-1-1/ 翻译:杨晓东 ...

  8. ASP.NET 5 RC1 升级 ASP.NET Core 1.0 RC2 记录

    升级文档: Migrating from DNX to .NET Core Migrating from ASP.NET 5 RC1 to ASP.NET Core 1.0 RC2 Migrating ...

  9. SQL Server2016升级前几点自检

    SQL Server2016已经出来一段时间了,而且最新的SP1包也于2016年11月18日正式发布,各种新的特性推出让我们跃跃欲试.那么对于我们真实的业务环境,特别是生产环境要不要"跟风& ...

随机推荐

  1. Java学习日记8-包、环境变量和访问控制

    Java中的包.环境变量和访问控制 一.java中的包 Java利用包来组织代码,一来使大型项目的代码结构清晰,二来包是一个命名空间的划分,即不同包中可以有相同名字的类,只需在在类名前加上包名即可区分 ...

  2. Java并发编程:CopyOnWrite容器的实现

    Java并发编程:并发容器之CopyOnWriteArrayList(转载) 原文链接: http://ifeve.com/java-copy-on-write/ Copy-On-Write简称COW ...

  3. WPF自定义数字输入框控件

    要求:只能输入数字和小数点,可以设置最大值,最小值,小数点前长度,小数点后长度(支持绑定设置): 代码如下: using System; using System.Collections.Generi ...

  4. adb 获取手机值

     获取手机RAM值    adb shell cat /proc/meminfo   获取手机内存值     adb shell df /data

  5. [置顶] 我的Android进阶之旅------>介绍一款集录制与剪辑为一体的屏幕GIF 动画制作工具 GifCam

    由于上一篇文章:我的Android进阶之旅------>Android之动画之Frame Animation实例 中展示的是Frame动画效果,但是之前我是将图片截取下来,不好说明确切的动画过程 ...

  6. 让jquery easyui datagrid列支持绑定嵌套对象

    嵌套对象是指返回的json数据,是对象的某个属性自带有属性.而我们恰恰又需要这个属性,默认情况下easyui的datagrid是不支持绑定嵌套对象的.比如:datagrid的field属性只能为fie ...

  7. Event Delivery: The Responder Chain(事件传递,响应链)

    当我们设计app的时候,我们很可能想动态的响应事件.例如,触摸一个拥有许多不同对象的屏幕,你要决定给哪个对象一个响应事件,怎么样对象接收到事件. 当一个用户产生事件发生时(如 点击),UIKit产生一 ...

  8. [转] JS nodeType返回类型

    将HTML DOM中几个容易常用的属性做下记录: nodeName.nodeValue 以及 nodeType 包含有关于节点的信息. nodeName 属性含有某个节点的名称. 元素节点的 node ...

  9. ASP.NET-FineUI开发实践-9(四)

    现在是这么个问题,在开发中表格是动态出来的,就是标准板是全部字段列出,客户要根据情况列出自己想要的,在增加操作页面的同时要是能用前台自带的功能直接保存到后台就好了,现在的列显示和隐藏是不回发的. 1. ...

  10. hdu 2111

    #include <iostream> #include <algorithm> using namespace std; struct money { int s; int ...