如何配置本地 Web 服务器,使其能够在一个 PHP 版本与另一个 PHP 版本之间切换

如何配置本地 Web 服务器,使其能够在一个 PHP 版本与另一个 PHP 版本之间切换

我正在使用 PHP eclipse IDE 开发一个 Web 应用程序。例如,我想从一个 PHP 版本切换到位于不同位置的另一个版本。

以下是我的工作环境:

1)拥有 Centos 操作系统

2)安装 centos 系统时已经安装 PHP 5.1.6

3)以上PHP安装在/usr/bin/路径下

4)我已经在/opt/lampp 中安装了 LAMPP

5)在LAMPP中存在PHP 5.2.6版本

我想配置本地 Web 服务器,使得 lampp 应该选择 PHP 5.1.6(位于 /opt/lampp 中),但我不知道这个 PHP 版本的切换。

请告诉我如何在本地 Web 服务器中配置 PHP 版本的切换。我应该选择哪个配置文件来修改此更改。

多谢 !!!

—普拉文

答案1

Apache 已配置为加载 PHP 模块。在 CentOS 上,这是在 /etc/httpd/conf.d/php.conf 中配置的。查找以下行:

LoadModule php5_module modules/libphp5.so

这指向一个相对路径。使用以下命令查找 libphp5.so 的所有实例:

find / -name libphp5.so

然后,您应该能够找到 PHP 模块的两个版本。/usr/lib/httpd/modules 中的模块将是 Apache 当前正在使用的模块。/opt/lampp 下的模块(可能)将是您想要使用的模块。

然后,您可以更改上面的 LoadModule 指令以指向相应 PHP 模块的绝对路径,或者您可以直接将其复制到 /usr/lib/httpd/modules 中的模块。无论哪种方式,请记住在进行更改后重新启动 Apache,或者停止 Apache,然后进行更改,并再次启动 Apache。

第三个选择是使用 yum 将服务器上的 PHP 更新到较新的版本 - 这应该会覆盖标准位置中的 PHP 版本,并且在将来提供更直接的更新路径。

答案2

最简单的解决方案是添加 5.1.6 的 CGI 处理程序,然后使用不同的文件扩展名在 mod_php (5.2) 和 CGI​​ 版本之间进行选择。例如:

Action phpa-exe /usr/bin/php
AddHandler phpa phpa-exe 

但请记住,CGI 版本的运行速度会比模块慢很多。

此外 - 两个引擎可能会尝试加载相同的 php.ini 文件 - 并且可能加载相同的扩展集(这可能会失败)。因此,您可能需要使用类似以下内容:

Action phpa-exe "/usr/bin/php -c /etc/5.1.6/php.ini"

C。

相关内容