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

XAMPP多PHP版本配置问题:端口8056仍运行PHP7.4求助

解决XAMPP 8056端口PHP版本不匹配问题

问题原因

全局的PHP7.4配置(包括请求处理器、环境变量)会覆盖8056端口虚拟主机的自定义设置,且当前虚拟主机配置缺少必要的文档根目录指定、PHP8环境变量绑定,导致端口仍默认调用PHP7.4。

修复步骤

1. 修改虚拟主机配置

打开c:\xampp\apache\conf\extra\httpd-xampp.conf,找到你添加的8056端口<VirtualHost>块,替换为以下内容:

Listen 8056
<VirtualHost *:8056>
    # 指定该端口的网站根目录,与默认保持一致
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost:8056

    # 强制当前端口的PHP文件使用PHP8.1的CGI处理器
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php8-cgi
    </FilesMatch>

    # 覆盖全局PHP环境变量,指定PHP8.1的配置文件目录
    SetEnv PHPRC "C:/xampp/php8"
    PHPINIDir "C:/xampp/php8"

    # 确保网站根目录的访问权限
    <Directory "C:/xampp/htdocs">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

2. 验证PHP8的CGI配置

确认你添加的PHP8相关ScriptAlias和Action配置路径与实际文件一致:

ScriptAlias /php8 "C:/xampp/php8/"
Action application/x-httpd-php8-cgi "/php8/php-cgi.exe"
<Directory "C:/xampp/php8">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
        Require all granted
    </Files>
</Directory>

3. 完善PHP8的php.ini配置

打开c:\xampp\php8\php.ini,确保以下配置已开启(取消注释并修正):

extension_dir = "ext"
cgi.fix_pathinfo = 1

4. 重启Apache服务

在XAMPP控制面板中停止Apache服务,等待几秒后重新启动,确保所有配置生效。

验证方法

在htdocs目录下新建phpinfo.php文件,内容为:

<?php phpinfo(); ?>

访问http://localhost:8056/phpinfo.php,查看页面顶部的PHP Version是否为8.1.x版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 18:21:27