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
相关产品推荐
相关产品推荐

