APMServ5.2.6升级PHP
前言:这两天闲着没事,就想学一下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的更多相关文章
- APMServ5.2.6 升级php5.2 到 5.3版本及Memcache升级!
一.如何选择PHP5.3的VC9版本和VC6版本 VC6是什么?VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的.VC9是什么?VC9就是the V ...
- 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, ...
- APMServ升级php 与 Wamp升级PHP版本到5.3
方法一:(我亲测试,没问题)首先下载:php-5.3.1-Win32-VC6-x86.ziphttp://windows.php.net/downloads/releases/archives/ 解压 ...
- APMServ升级PHP至5.3
APMServ5.2.6 的php版本是php5.2.6,所以需要升级一下PHP版本:1.到 php下载地址下载PHP5.3的VC6版本的zip文件,我下载的是:php-5.3.23-Win32-VC ...
- 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. ...
- 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!
看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...
- Entity Framework Core 1.1 升级通告
原文地址:https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-entity-framework-core-1-1/ 翻译:杨晓东 ...
- 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 ...
- SQL Server2016升级前几点自检
SQL Server2016已经出来一段时间了,而且最新的SP1包也于2016年11月18日正式发布,各种新的特性推出让我们跃跃欲试.那么对于我们真实的业务环境,特别是生产环境要不要"跟风& ...
随机推荐
- 项目管理模式之如何去除SVN标记
原问地址:http://blog.csdn.net/djcken/article/details/7916986 当项目不需要SVN标志的时候,我们一般怎么办哪??可能很多人设置Window ...
- Spark on YARN的两种运行模式
Spark on YARN有两种运行模式,如下 1.yarn-cluster:适合于生产环境. Spark的Driver运行在ApplicationMaster中,它负责向YARN Re ...
- 字体在Android View中的输出 drawText
Canvas 作为绘制文本时,使用FontMetrics对象,计算位置的坐标. public static class FontMetrics { public flo ...
- UITableViewStyleGrouped顶部留白问题
我这样创建, ? 1 2 self.tableView = [[UITableView alloc] initWithFrame: CGRectMake(0 ...
- Chrome调试大全--转载
作为一名前端开发者,打交道最多的可能是和浏览器.市面上各种浏览器多不胜数,主流的有Chrome,Firefox,Safari,IE,Opera,非主流的如360,遨游,QQ浏览器,搜狗浏览器,据说淘宝 ...
- 再探Java基础——String.format(String format, Object… args)的使用
最近看到类似这样的一些代码:String.format("参数%s不能为空", "birthday"); 以前还没用过这功能不知咐意思,后研究了一下,详细讲解如 ...
- Java基础知识强化96:Calendar类之获取任意年份的2月有多少天的案例
1. 分析: (1)键盘录入任意的年份 (2)设置日历对象的年月日 年:就是(1)输入的数据 月:是2(3月份) 日:是1 (3)把 ...
- sass笔记-3|Sass基础语法之样式复用和保持简洁
上一篇详述了Sass如何嵌套.导入和注释这3个基本方式来保持条理性和可读性,这一篇更进一步地阐述sass保持样式复用和简洁的方式--混合器和选择器继承--这两种方式都能复用样式,使用它们也不难,但一定 ...
- TCP Linger的坑
昨天和同事奋战几个小时,解决了一个linger造成的bug. 现象是这样的,这是一个我从原型接手,扩充了各种功能成为可用代码的epoll实现的非阻塞socket server程序,接收大量的短连接,测 ...
- Vitamio VideoView 示例
VideoView 播放本地视频 /** * 会根据视频尺寸自动缩放 * 自己对VideoView设置的宽高基本不起任何作用 */ public class VideoViewDemo exte ...