WAMPServer可以让开发者在Windows系统下快速搭建WAMP环境,它支持多版本的Apache、MySQL、PHP之间的相互切换,互不影响,对于PHPer开发者来讲极为方便快速。
以下是在WAMPServer下同时支持PHP5.3、PHP5.4、PHP5.5、PHP5.6的步骤:
1、安装WAMPServer
根据自己的操作系统选择相应的WAMP版本,我这里选择WAMPSERVER-64 BITS & PHP 5.5-2.5,双击安装,选择安装目录即可,超级简单,安装完了,建议最好完全把WAMPServer退出比较好。
根据我安装的版本,这里已经默认安装了PHP5.5.12,如下图,可以发现多了两个特别文件:phpForApache.ini、wampserver.conf。
2、下载PHP二进制包
PHP目前提供PHP5.3、PHP5.4、PHP5.5、PHP5.6版本,因为我安装的是WAMPSERVER-64 BITS,所以对应的PHP版本只能是64位,到Windows PHP下载TS版本(Thread-Safe-VC9-X64)对应的PHP二进制ZIP包,并解压缩二进制包到WAMP安装目录,如D:Program Fileswampinphp下。
3、增加PHP多版本支持
以我的安装目录为参照,拷贝php5.5.12下的wampserver.conf文件分别到PHP各版本目录;
以php5.3.15为例,拷贝目录下的php.ini-development并重命名为phpForApache.ini,根据自己要求修改phpForApache.ini里的PHP环境参数,保存退出;
以上完成了PHP5.3.15版本的添加,其它版本添加类似。
4、修改phpForApache.ini文件 和wampmanager.ini文件
phpForApache.ini文件里面819行的:
extension_dir = ".",改为extension_dir = "D:/Program Files/wamp/bin/php/php5.3.15/ext/"新版本PHP目录的ext路径。
修改phpForApache.ini的时间的话,不然会在创建一些带有时间类型的字段的表会报错!!phpForApache.ini文件里面1008行的:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone =Asia/Shanghai
修改 wampmanager.ini文件,不然会出现切换php的版本函数调用不对。
在wampmanager.ini文件中没有自动生成前面加的PHP版本,需要
在362行里面手动添加:
Type: item; Caption: "5.5.12"; Action: multi; Actions:switchPhp5.5.12
复制上面一行修改成添加的php版本,插入到后面:
Type: item; Caption: "5.3.15"; Action: multi; Actions:switchPhp5.3.15; Glyph: 13
特别注意!!
还要在把365行里面复制同样一行:
[switchPhp5.5.12]
Action: service; Service: wampapache64; ServiceAction: stop; Flags: ignoreerrors waituntilterminated
Action: run; FileName: "D:/Program Files/wamp/bin/php/php5.5.12/php-win.exe";Parameters: "switchPhpVersion.php 5.5.12";WorkingDir: "D:/Program Files/wamp/scripts"; Flags: waituntilterminated
Action: run; FileName: "D:/Program Files/wamp/bin/php/php5.5.12/php-win.exe";Parameters: "-c . refresh.php";WorkingDir: "D:/Program Files/wamp/scripts"; Flags: waituntilterminated
Action: run; FileName: "net"; Parameters: "start wampapache64"; ShowCmd: hidden; Flags: waituntilterminated
Action: resetservices
Action: readconfig;
复制一行,修改成添加的php版本,插入到后面:
[switchPhp5.3.15]
Action: service; Service: wampapache64; ServiceAction: stop; Flags: ignoreerrors waituntilterminated
Action: run; FileName: "D:/Program Files/wamp/bin/php/php5.5.12/php-win.exe";Parameters: "switchPhpVersion.php 5.3.15";WorkingDir: "D:/Program Files/wamp/scripts"; Flags: waituntilterminated
Action: run; FileName: "D:/Program Files/wamp/bin/php/php5.5.12/php-win.exe";Parameters: "-c . refresh.php";WorkingDir: "D:/Program Files/wamp/scripts"; Flags: waituntilterminated
Action: run; FileName: "net"; Parameters: "start wampapache64"; ShowCmd: hidden; Flags: waituntilterminated
Action: resetservices
Action: readconfig;
5.选择PHP运行环境
重新打开WAMPServer管理器,选择想要运行的PHP版本环境。
温馨提示:如果出现php切换没有反应,建议把整个WAMPServer退出,在从新打开就ok了!
6.出现php与apache不匹配解决办法
这个问题很可能是由于PHP是用V6编译的,而apche是vc2012编译的,只需要下载另一版本编译的php即可解决。