xampp同时启动多个不同PHP版本web项目
warning:
这篇文章距离上次修改已过189天,其中的内容可能已经有所变动。
要在XAMPP中同时启动多个使用不同PHP版本的Web项目,你需要做以下几步:
- 安装多个版本的PHP并配置它们。
- 修改XAMPP的Apache配置,为每个版本的PHP配置独立的Apache虚拟主机。
- 确保每个项目的
.htaccess
文件正确重写到对应版本的PHP。
以下是一个示例配置,假设你想要同时运行PHP 7.4和PHP 8.0两个版本的项目:
- 安装额外的PHP版本,并确保它们与XAMPP的Apache兼容。
- 修改Apache的配置文件(通常是
httpd.conf
或者在conf.d
目录中的相关文件),为每个版本添加新的VirtualHost
配置。
# PHP 7.4
Listen 12345
<VirtualHost *:12345>
DocumentRoot "C:/xampp/htdocs/php74_project"
ServerName localhost
<Directory "C:/xampp/htdocs/php74_project">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
# PHP 8.0
Listen 12346
<VirtualHost *:12346>
DocumentRoot "C:/xampp/htdocs/php80_project"
ServerName localhost
<Directory "C:/xampp/htdocs/php80_project">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
- 修改项目的
.htaccess
文件,确保它们使用正确的RewriteRule
来使用对应版本的PHP:
# PHP 7.4 .htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# PHP 8.0 .htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
- 确保你的项目
index.php
文件指向正确的PHP版本:
# PHP 7.4 index.php
<?php
$php_version = '74';
putenv("PHP=$php_version");
putenv("PATH=/xampp/php_$php_version/bin:$PATH");
// ... 其他必要的环境变量设置
?>
# PHP 8.0 index.php
<?php
$php_version = '80';
putenv("PHP=$php_version");
putenv("PATH=/xampp/php_$php_version/bin:$PATH");
// ... 其他必要的环境变量设置
?>
- 重启XAMPP的Apache服务。
请注意,这个过程可能需要对XAMPP的内部工作机制有一定了解,并且可能涉及到复杂的环境变量设置和Apache配置。如果你不熟悉这些,建议寻求专业的帮助。
评论已关闭