M1 Monterey系统下Xdebug3安装后仅CLI生效、phpinfo无相关显示问题
Xdebug仅CLI生效Web不生效解决方案
- 第一步:重启Apache服务
Apache加载的PHP模块会驻留内存,新增扩展后必须重启Apache才能加载新配置,执行命令:sudo apachectl restart - 第二步:修正扩展加载配置
Xdebug是Zend扩展,不能使用普通extension指令加载,且建议使用绝对路径避免路径解析异常。打开/opt/homebrew/etc/php/7.4/php.ini,将扩展加载语句替换为:zend_extension=你的xdebug.so绝对路径
你可以通过CLI命令php -i | grep "xdebug.default_enable" -B5获取当前CLI使用的xdebug.so绝对路径,直接复制到php.ini中即可。 - 第三步:验证xdebug.so文件权限
执行CLI命令php -i | grep extension_dir获取扩展存放目录,查看该目录下xdebug.so的权限,确保Apache运行用户(默认_www)拥有读取权限,可执行以下命令修正权限:sudo chmod 644 你的扩展目录路径/xdebug.so - 第四步:确认Xdebug版本兼容性
Xdebug 3.2及以上版本已停止支持PHP 7.4,若你安装了过高版本的Xdebug,需要卸载后安装兼容版本:
安装完成后再次重启Apache。sudo pecl uninstall xdebug sudo pecl install xdebug-3.1.6 - 验证修复结果
先确认Web端phpinfo()中的Loaded Configuration File值为/opt/homebrew/etc/php/7.4/php.ini,排除配置文件加载错误问题,再搜索xdebug字段确认扩展已加载,最后调用xdebug_info()函数验证功能正常。
内容的提问来源于stack exchange,提问作者Andrei
相关产品推荐
相关产品推荐

