我需要使用多个版本的PHP 5.x来测试我的PHP应用程序,比如PHP 5.0.0和PHP 5.2.8。
有没有一种方法可以配置开发LAMP服务器,以便我可以在多个版本的PHP5上快速测试应用程序?
发布于 2009-02-07 20:36:56
一种方法是用mod_php设置你的php的主版本,然后在不同的端口(即81、82、83等)上通过快速cgi运行所有其他版本。但是,这并不能保证行为完全一致。
发布于 2015-07-20 17:19:40
注意:以下方法适用于windows。
另一种方法(如果可以一次运行PHP的一个版本)是定义多个Apache服务,每个服务将使用不同的PHP版本。
首先,Apache配置文件中的使用条件:
<ifdefine php54>
SetEnv PHPRC C:/apache/php54/
ScriptAlias /php/ "C:/apache/php54/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"
</ifdefine>
<ifdefine php55>
SetEnv PHPRC C:/apache/php55/
ScriptAlias /php/ "C:/apache/php55/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"
</ifdefine>
现在,使用httpd.exe从命令行创建两个单独的服务(提升为管理员):
httpd.exe -k install -n Apache224_php54 -D php54
httpd.exe -k install -n Apache224_php55 -D php55
现在,您可以一次启动上述服务中的一个(应该在启动另一个服务之前先关闭一个)。
如果您以前已将Apache安装为服务,则可以使用以下命令删除该服务(将服务名替换为您已使用服务名):
apache -k uninstall -n Apache224
另一个需要注意的是,我个人使用一个称为"Seobiseu“的”通知区域图标程序“来根据需要启动和停止服务。我已经在其中添加了上述两个服务。
发布于 2010-08-10 18:51:26
我刚刚在Ubuntu 10上成功地从PHP5.3降级。
为此,我使用了以下脚本:
#! /bin/sh
php_packages=`dpkg -l | grep php | awk '{print $2}'`
sudo apt-get remove $php_packages
sed s/lucid/karmic/g /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/karmic.list
sudo mkdir -p /etc/apt/preferences.d/
for package in $php_packages;
do echo "Package: $package
Pin: release a=karmic
Pin-Priority: 991
" | sudo tee -a /etc/apt/preferences.d/php
done
sudo apt-get update
sudo apt-get install $php_packages
对于不知道如何从命令行运行脚本的任何人,这里有一个简短的教程:
1. cd ~/
2. mkdir bin
3. sudo nano ~/bin/myscriptname.sh
4. paste in the script code I have posted above this
5. ctrl+x (this exits and prompts for you to save)
6. chmod u+x myscriptname.sh
这6个步骤在主目录中名为"bin“的文件夹中创建了一个脚本。然后,可以通过调用以下命令来运行此脚本:
~/bin/myscriptname.sh
奥莉亚!
希望这对你们中的一些人有帮助!
作为参考,这里是我获得脚本的地方:PHP5.2.10 for Ubuntu 10
上面有几个人都确认了这是有效的,这对我来说是一种享受。
https://stackoverflow.com/questions/524508
复制相似问题