そのため、macOS High Sierra 10.13 には PHP 7.1 が付属しています。/etc/php.ini
Apache の構成中に、ファイルから新しい/etc/php.ini.default
ファイルも作成し、Apache の再起動後に PHP によってロードされていることを確認しましたが、macOS 10.13 に同梱されている Xdebug 拡張機能のバージョンは、実行時にロードまたは表示されないようです。phpinfo();
私のphp.iniは間違いなくロードされています:
$ php -i | grep php.ini
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
Xdebug を構成する /etc/php.ini は次のようになります。
[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