在Plesk 18中仅为子域名dev.example.com启用Xdebug无效,求解决
排查子域名Xdebug无法启用的步骤
1. 确认Xdebug扩展路径正确性
直接写zend_extension=xdebug.so可能因PHP版本不同找不到文件,需先确认实际路径:
- 登录服务器终端,执行对应PHP版本的命令(例如PHP 8.2:
/usr/bin/php8.2 -i | grep xdebug),找到Xdebug的完整路径(如/usr/lib64/php/modules/xdebug.so),替换配置中的路径。
2. 匹配子域名的PHP版本
Plesk中每个域名可单独指定PHP版本,需确保你在dev.example.com的「附加指令」中配置的是该域名实际使用的PHP版本的附加指令:
- 进入dev.example.com的域名设置,查看「PHP设置」里的版本,再在对应版本的「附加指令」区域添加配置(部分Plesk版本会按PHP版本划分附加指令入口)。
3. 验证Xdebug配置是否加载
在dev.example.com的网站根目录创建phpinfo.php文件,内容如下:
<?php phpinfo(); ?>
访问dev.example.com/phpinfo.php,搜索「Xdebug」关键词:
- 若完全无Xdebug相关内容,说明配置未被加载,检查附加指令是否正确应用到对应PHP版本;
- 若有Xdebug条目但
xdebug.start_with_request值不是yes,说明配置被全局或其他高优先级配置覆盖。
4. 检查Web服务器配置冲突
- 若使用Nginx+PHP-FPM,确认dev.example.com的PHP-FPM池配置未覆盖Xdebug参数;
- 若使用Apache,检查主域名或全局Apache配置中是否存在禁用Xdebug的指令(如
php_admin_flag xdebug off),这类指令会影响子域名。
5. 确保服务重启到位
- 针对PHP-FPM服务,需重启对应版本的服务(例如PHP 8.2:
systemctl restart php-fpm82.service),而非仅重启Web服务器; - Plesk自带的重启按钮可能未覆盖特定PHP版本的FPM服务,建议直接在终端执行重启命令。
6. 检查Xdebug与PHP版本兼容性
确保安装的Xdebug版本和当前PHP版本匹配(例如PHP 8.2需Xdebug 3.1及以上版本),可通过php -v或phpinfo页面查看Xdebug版本。
内容的提问来源于stack exchange,提问作者Jam
相关产品推荐
相关产品推荐

