使用虚拟机设置具有可切换PHP版本的本地Web服务器

使用虚拟机设置具有可切换PHP版本的本地Web服务器,php,macos,ubuntu,web-development-server,Php,Macos,Ubuntu,Web Development Server,我已经在本地web开发中使用XAMPP很多年了,但是我对它的局限性越来越失望,我想换一种不同的解决方案 我正在寻找的是一种能够让我在不同版本的PHP之间轻松切换的东西。我现在考虑的计划是通过Parallels建立本地版本的Ubuntu(我似乎记得我只需要Ubuntu的桌面版,而不是服务器来完成我想做的事情),然后使用它为Mac OS X主机提供一个web服务器,该主机将在http://localhost/ 我想理想的解决方案是让我可以在同一台Ubuntu虚拟机上运行多个web服务器,这样http

我已经在本地web开发中使用XAMPP很多年了,但是我对它的局限性越来越失望,我想换一种不同的解决方案

我正在寻找的是一种能够让我在不同版本的PHP之间轻松切换的东西。我现在考虑的计划是通过Parallels建立本地版本的Ubuntu(我似乎记得我只需要Ubuntu的桌面版,而不是服务器来完成我想做的事情),然后使用它为Mac OS X主机提供一个web服务器,该主机将在
http://localhost/

我想理想的解决方案是让我可以在同一台Ubuntu虚拟机上运行多个web服务器,这样
http://localhost-529/
是运行PHP5.2.9的web服务器,
http://localhost-531/
是运行PHP5.3.1等的web服务器


这可能吗?我提出的想法是继续进行的方法,还是有更好的方法让这个设置工作

你应该看看

例如,可以执行以下操作:

<VirtualHost *:80>
   ServerName www.localhost-529
   ServerAlias localhost-529
   LoadModule php5_module        modules/libphp5.so
   ...
</VirtualHost>
<VirtualHost *:80>
   ServerName www.localhost-4
   ServerAlias localhost-4
   LoadModule php4_module        modules/libphp4.so
   ...
</VirtualHost>

服务器名www.localhost-529
服务器别名localhost-529
LoadModule php5_module modules/libphp5.so
...
服务器名www.localhost-4
服务器别名localhost-4
LoadModule php4_module modules/libphp4.so
...

必须在客户端的hosts文件中输入localhsot-529和localhost-4的名称

,这是否意味着如果我在webroot中有一个名为script.PHP的PHP脚本,我将使用PHP5.2.9执行脚本,并使用PHP4执行脚本?有没有可能在同一个URL上使用不同的端口而不是在不同的URL上执行类似的操作?谢谢是的,您可以调用localhost-529/script.php在php5中解析它,或者调用localhost-4在php4中解析它。是的,这可能也是可能的,看看手册,virtualhost可以使用不同的端口或不同的URI。顺便说一句,在您的示例中,DocumentRoot在每个vhost配置中必须相同