我个人机器上环境是基于Apache2.2运行的PHP5.2/4,如你想部署其他版本的PHP或在更多的版本之间切换,同理操作步骤是一致的。
依本人环境为例,机器上已经安装了PHP5.2版本, 所以首先重新创建5.2的服务:
- 如果你机器上已经运行了Web Server服务,可先暂停并设置为手动执行(因后续我们几乎不再默认运行此服务了)。
- 编辑httpd.conf配置文件,加入以下形式的内容
<ifdefine php5.2>
# 提供apache调用的php5.2版本dll路径
LoadModule php5_module "e:/AppServphp5php5apache2_2.dll"
# 你的php5.2版本php.ini路径
PHPIniDir "C:/Windows/php.ini"
</ifdefine>
- 打开cmd命令行,切换到你的Apache bin目录,执行如下命令
httpd.exe -k install -n Apache_php5.2 -D php5.2
- 现在你可以重启新的名为Apache_php5.2服务,在PHP中打印phpinfo()来测试运行是否正常
上述过程无误的话,可以继续进行PHP5.4版本的配置了,你会感觉有种熟悉的感觉了
- 下载PHP5.4的二进制版本,并解压到你希望放置的目录(我机器上路径为:E:/AppServ/php-5.4.37)
- 再次编辑httpd.conf配置文件,加入以下形式的内容
<ifdefine php5.4> LoadModule php5_module "E:/AppServ/php-5.4.37/php5apache2_2.dll" # php5.4的ini路径(注意php5.4中将默认用php.ini-production/development两个文件存在,个人已重命名) PHPIniDir "E:/AppServ/php-5.4.37/php.ini" </ifdefine>
- 打开cmd命令行,创建php5.4服务的apache服务
httpd.exe -k install -n Apache_php5.4 -D php5.4
经过这样的配置,我们就实现了在不同PHP版本之间的切换。为了日常的操作方便,我们还可以编写Bat文件来快速自动切换。
@echo off @sc query apache_php5.4 | find /i "running" > null if %ERRORLEVEL% == 0 ( net stop apache_php5.4 net start apache_php2.2 ) else ( net stop apache_php2.2 net start apache_php5.4 ) pause
Now it's ending!