You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下Apache多虚拟主机配置不同PHP版本的正确语法

Windows 10下Apache 2.4多虚拟主机配置不同PHP版本

核心注意事项

Apache无法同时加载两个PHP的Apache SAPI模块(如php7apache2_4.dll和php8apache2_4.dll),因此默认加载PHP 8.1的模块,对需要PHP 7.4的虚拟主机采用CGI模式调用对应版本的PHP解释器。

完整配置代码

# 仅加载PHP 8.1的Apache模块,注释掉PHP7.4的模块加载
#LoadModule php7_module "C:/amp/php74/php7apache2_4.dll"
LoadModule php_module "C:/amp/php8/php8apache2_4.dll"

# 全局默认PHP 8.1的配置
<IfModule php_module>
    AddType application/x-httpd-php .php
    DirectoryIndex index.php index.html
    PHPIniDir "C:/amp/php8"
</IfModule>

# 本地默认主机
<VirtualHost *:80> 
ServerName localhost
DocumentRoot "D:/wwwroot"
<Directory "D:/wwwroot">
Require all granted
AllowOverride All
</Directory> 
</VirtualHost>

# 使用PHP 8.1的虚拟主机domain1.localhost
<VirtualHost *:80> 
ServerName domain1.localhost
DocumentRoot "D:/wwwroot/domain1/web"
ErrorLog "logs/domain1-error.log"
<Directory "D:/wwwroot/domain1/web">
Require all granted
AllowOverride All
</Directory> 
</VirtualHost>

# 使用PHP 7.4的虚拟主机domain2.localhost
<VirtualHost *:80> 
ServerName domain2.localhost
DocumentRoot "D:/wwwroot/domain2"
ErrorLog "logs/domain2-error.log"
<Directory "D:/wwwroot/domain2">
Require all granted
AllowOverride All
</Directory> 

# 为当前虚拟主机配置PHP 7.4的CGI处理
<FilesMatch \.php$>
    # 自定义处理器名称,避免与全局PHP8.1冲突
    SetHandler application/x-httpd-php74
    # 指向CGI映射路径
    Action application/x-httpd-php74 "/php74-cgi"
</FilesMatch>
</VirtualHost>

# PHP7.4的CGI映射配置(必须放在虚拟主机外部)
ScriptAlias /php74-cgi "C:/amp/php74/php-cgi.exe"
<Directory "C:/amp/php74">
    Require all granted
</Directory>

关键配置说明

  1. CGI映射:ScriptAlias用于将请求路径映射到PHP7.4的php-cgi.exe,需放在所有虚拟主机之外,同时要给PHP7.4目录配置访问权限。
  2. 处理器隔离:在domain2中使用自定义的application/x-httpd-php74处理器,避免和全局默认的PHP8.1处理器冲突,确保当前虚拟主机的PHP文件走CGI模式调用7.4版本。
  3. PHP.ini配置:确保PHP7.4目录下的php.ini设置了正确的extension_dir、doc_root等参数,可复制一份默认配置文件单独修改。

验证方法

  1. 重启Apache服务,确认无启动报错。
  2. 在两个虚拟主机根目录分别创建phpinfo.php,内容为<?php phpinfo(); ?>。
  3. 访问domain1.localhost/phpinfo.php确认版本为8.1,domain2.localhost/phpinfo.php确认版本为7.4。

内容的提问来源于stack exchange,提问作者Lissy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 16:56:05