根据 PHP 手册页,存在以下命令行选项:
--zend-extension file
-z file Load Zend extension file
Run Code Online (Sandbox Code Playgroud)
这大概意味着您可以通过这种方式将 xdebug 作为 zend 扩展加载,从而仅在您实际需要时才加载 Xdebug,这对我来说很有帮助,因为 xdebug 会严重减慢 Drupal 单元测试的速度,但我可能需要调试一些测试。
但是,以这种方式加载 Xdebug 似乎不起作用。
环境:MacOS 10.10、PHP 5.6.3-dev、Xdebug 2.2.5。
$> ls -l /usr/local/lib/php/extensions/debug-non-zts-20131226/xdebug.so
-rwxr-xr-x 1 root wheel 319276 Oct 24 13:45 /usr/local/lib/php/extensions/debug-non-zts-20131226/xdebug.so
$> grep xdebug /usr/local/etc/php/5.6/php.ini
zend_extension=/usr/local/lib/php/extensions/debug-non-zts-20131226/xdebug.so
$> php -v |grep -i xdebug
with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans
Run Code Online (Sandbox Code Playgroud)
很明显,当在php.ini文件中指定时,xdebug 会正确加载。当我注释掉 xdebug 行时,
> grep xdebug /usr/local/etc/php/5.6/php.ini
;zend_extension=/usr/local/lib/php/extensions/debug-non-zts-20131226/xdebug.so
Run Code Online (Sandbox Code Playgroud)
您可以看到它没有正确加载:
> php -i|grep -i xdebug
>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用 …