所以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