脚本宝典收集整理的这篇文章主要介绍了使用PHP 7在macOS 10.13上进行Xdebug,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。@H_126_0@ 所以macOS High Sierra 10.13现在配备了 PHP 7.1.配置apache时,我还从/etc/PHP.ini.default文件中创建了一个新的/etc/PHP.ini,确保在重新启动Apache后检查是否正由PHP加载,但是随附的Xdebug扩展的版本运行PHPinfo()时,似乎无法加载或显示macOS 10.13;
我的PHP.ini肯定被加载:
$PHP -i | grep PHP.ini Configuration File (PHP.ini) Path => /etc Loaded Configuration File => /etc/PHP.ini
这是我的/etc/PHP.ini在配置Xdebug时的样子:
[xdebug] zend_extension = "/usr/lib/PHP/extensions/no-debug-non-zts-20160303/xdebug.so" xdebug.remote_enable=on xdebug.remote_LOG="/VAR/log/xdebug.log" xdebug.remote_host=localhost xdebug.remote_handler=dbgp xdebug.remote_port=9000
[更新,修复了这里的拼写错误…]
但是,Xdebug不加载和检查PHP -i没有结果:
$PHP -i | grep xdebug PHP Warning: Method xdebug_start_function_monITor() cannot be a NULL function in UnkNown on line 0 PHP Warning: xdebug: Unable to register functions,unable to load in UnkNown on line 0 Segmentation fault: 11
是的,文件的路径是正确的:
$ls /usr/lib/PHP/extensions/no-debug-non-zts-20160303/xdebug.so /usr/lib/PHP/extensions/no-debug-non-zts-20160303/xdebug.so*
这曾经用于PHP 5,所以我希望有人可以帮助我和其他任何人在未来努力解决这个问题.
当我检查我的apache日志时,我收到以下错误:
Failed loading /usr/lib/PHP/extensions/no-debug-non-zts-20160303/xdebug.so: dloPEn(/usr/lib/PHP/extensions/no-debug-non-zts-20160303/xdebug.so,9): Symbol not found: _xdebug_monitored_function_dtor Referenced From: /usr/lib/PHP/extensions/no-debug-non-zts-20160303/xdebug.so Expected in: flat namespace in /usr/lib/PHP/extensions/no-debug-non-zts-20160303/xdebug.so
Symbol not found: _xdebug_monitored_function_dtor
所以我从xdebug website下载了最新的源代码并执行了以下操作:
>用brew安装autoconf;
>运行PHPize配置新Zend引擎的构建;
>运行./configure
>运行make
现在新的二进制文件位于modules / xdebug.so下
但是,macOS系统完整性保护(SIP)将阻止您覆盖/usr/lib / PHP / extensions /下的xdebug.so.我不想禁用它,所以我在/usr/local / lib / PHP / extensions /下创建了一个新的目录路径,并将新的二进制文件复制到这个位置.我不确定这个目录是否是放置它的最佳位置,或者这是不好的做法,但它对我有用.
以上是脚本宝典为你收集整理的使用PHP 7在macOS 10.13上进行Xdebug全部内容,希望文章能够帮你解决使用PHP 7在macOS 10.13上进行Xdebug所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。