在研究YII2-USER时其提示需要PHP7,而WampServer2.4只集成了PHP5,最初我以为或许是版本低的原因,于是下载了WampServer2.5,以及WampServer3.0,安装之后发现均只集成了PHP5,于是面临两个选择,第一个是将WampServer集成环境更换为支持PHP7的PhpStudy,另一种是修改WampServer配置使其支持PHP7。
最初下载了PHP7.2.5,配置之后发现切换到PHP7.2.5之后扩展都是这样红边黄底的叹号,又不知道啥原因,在网上查找看到有人说是WampServer2不支持PHP7,不知真伪,于是安装了WampServer3.0,结果发现还是这样。
最终发现了红边黄底的叹号是因为配置文件中没有配置而扩展文件夹中有扩展。
下面记录详细的配置过程,WampServer2.4,WampServer2.5,WampServer3.0配置方法都一样适用。
1.下载php-7.0.30-Win32-VC14-x86,php-7.1.17-Win32-VC14-x86,php-7.2.5-Win32-VC15-x86,我的电脑是32位的系统,所以下载的都是32位的版本,而且下载的都是线程安全的版本。
2.将下载的三个版本的PHP解压到各自文件夹,拷贝到WampServer的PHP目录里,我的是D:\WampServer\bin\php,由于最后我安装的是WampServer2.4,里面自带了一个php5.4.16,我按照这样的格式将三个版本的PHP文件夹更名为php7.0.30,php7.1.17,php7.2.5,更名的目地只是为了和原生的保持一致好看一些。
3.将WampServer自带的php版本中的wampserver.conf文件拷贝出来,打开,可以看到大致是这样的配置
该WampServer集成的Apache是2.4.4版本的Apache,这里却没有2.4的Apache配置,照道理说应该出问题的,启动WampServer却是正常,这个比较疑惑,但是还是继续往下做。
按照网上的步骤将wampserver.conf修改为
然后复制到三个PHP7文件夹中。
此时退出WampServer,然后再启动WampServer,就可以看到PHP里面有PHP7的三个版本了,但不要高兴,后面的步骤还需要继续做下去,PHP7才能正常使用。
将PHP7三个版本里的php.ini-development复制,更名为phpForApache.ini,然后找到extension_dir = "ext",删除此行前面的分号;,这是配置PHP扩展所在目录。
再仔细看phpForApache.ini文件中的扩展,都是被分号;注释的,有哪些扩展我也看不懂,所以按照WampServer自带的PHP5的phpForApache.ini文件中的配置,将PHP5里被分号注释的扩展,PHP7里也使用分号注释,其他的扩展取消分号注释。
这里PHP7.2.5例外,该版本的PHP扩展看起来使用的是简写
WampServer不认识,对照着PHP7.2.5的ext文件夹,将里面的简写全部更改为这样
这样WampServer就能认识了。
上面的步骤更改完之后,将三个PHP7文件夹里的phpForApache.ini各复制一份,更名为php.ini,然后重新启动WampServer(这里的重新启动是先退出在开启,不是重启所有服务)。
全部配置就完成了,然后准备切换PHP7时发现怎么PHP5不能用了,界面成这个样子了
这就匪夷所思了,想起更改PHP5的wampserver.conf里只有1.0,1.3,2.3的Apache配置,却没有2.4的Apache配置,于是将wampserver.conf更改为
然后退出WampServer,再启动WampServer,发现都能够使用了,红边黄底叹号消失。现在切换下PHP版本看看是否正常
切换到PHP5.4.16
切换到7.0.30
切换到7.1.17
切换到7.2.5
这下真大功告成了。