我正在将我的 WAMP 从 5.5.12 降级到 5.3.10,我将导出的 php-5.3.10-Win32-VC9-x86.zip 添加到 C:\wamp\bin\php\php5.3.10\
我已将必要的 php5apache2_4.dll 添加到 php5.3.10 文件夹中,并从 5.5.12 复制了 php.ini、phpForApache.ini 和 wampserver.conf,然后将这三个文件中的所有引用从 5.5.12 更改为 5.3.10。
据我所知,我需要做的就是重新启动 WAMP 或关闭并打开 WAMP,以便当我左键单击 WAMP > PHP > 版本时显示新的 PHP 版本,但我仍然只能看到旧版本。
WAMP 是否应该自动获取新版本,似乎需要配置其他东西但我不知道它是什么。
此外,在添加新的 php5apache2_4.dll 时,有说明将以下内容添加到我的 httpd.conf 文件中,但这只会阻止 WAMP 正确加载,即使在删除对原始 php5apache2_4.dll 的引用后也是如此
LoadModule php5_module "c:/wamp/bin/php/php5.3.10/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "C:/wamp/bin/php/php5.3.10/"
但除此之外,我的主要问题是让新的 PHP 版本显示在 WAMP 菜单栏上安装的 PHP 版本列表中,以便我可以单击新版本来切换到它。
我读过一些关于手动添加不同 PHP 版本的指南,它们似乎都说只需放入新的 PHP 文件夹,修改我在第二段中提到的三个文件,重新启动 WAMP,新的 PHP 选项就会自动出现。
我发现在 wampmanager.ini 中我可以手动修改 PHP 列表,但我不知道这是否是将新 PHP 版本添加到 WAMP 中的 PHP 版本列表的正确方法。
每个 PHP 文件夹都有自己的 php.ini 和 phpForApache.ini 文件;但是,bin\apache\apache2.4.9 中还有另一个 php.ini 文件。
有指向 php 文件夹扩展位置的 extension_dir 和指向 zend_extension 的当前版本,这两个文件都位于各自的 PHP 版本文件夹中。
在版本之间切换时,我是否需要手动注释掉并取消注释?我可以保留两者的注释吗?(我想不能)但我不知道 WAMP 如何能够自动知道是否注释或取消注释每个扩展引用。
对于每个 php 版本的 LoadModule php5_module,apache2.4.0\conf\httpd.conf 文件也是如此,我可以不注释掉它们吗,还是我必须手动注释和取消注释?
答案1
您似乎已经正确完成了大部分过程,但是我发现有几个部分导致了问题。
将 php.ini、phpForApache.ini 等文件从 php5.5 复制到 php5.3 会导致问题。这两个版本之间存在许多变化。务必比较这两个版本,但从原始 php5.3 php.ini 开始,手动更改文件名,而不仅仅是进行复制。
不要像你一样手动更改 httpd.conf 文件,一旦 WAMPServer 发现 PHP 的两个版本,当你进行切换时,WAMPServer 将自行完成所有必要的修改,这就是切换过程所做的。手动操作可能会让你有点困惑
因此改变这个
LoadModule php5_module "c:/wamp/bin/php/php5.3.10/php5apache2_4.dll"
重新使用 5.5 php
另外,不要将此行添加到 httpd.conf,切换过程不会查找此参数,因此它将使切换过程失败。保留它
PHPIniDir "C:/wamp/bin/php/php5.3.10/"
将其注释掉