为 PHP CLI 安装 Xdebug

2024-04-21

我在用着XAMPP http://www.apachefriends.org/tr/index.html在 Mac OS 上,尝试使用PHPUnit http://phpunit.de的代码覆盖率检查,这需要XDebug http://phpunit.de/manual/3.7/en/code-coverage-analysis.html。 xdebug.so 文件随 XAMPP 一起提供,因此我为 PHP 启用了 Xdebug:

// /Applications/XAMPP/xamppfiles/etc/php.ini
[xdebug]
zend_extension="/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so"
xdebug.remote_enable=1

现在,当我从 Web 服务器检查时,输出中有一个 Xdebug 部分phpinfo().

但是当我尝试检查代码覆盖率时出现错误:

$ phpunit --coverage-html report
PHPUnit 3.7.31 by Sebastian Bergmann.

The Xdebug extension is not loaded. No code coverage will be generated.

我认为 CLI 使用不同的php.ini比阿帕奇。要找到哪个php.ini文件 CLI 正在使用我这样做了:

$ php -i | grep "php.ini"
Configuration File (php.ini) Path => /etc

但没有/etc/php.ini所以我复制了一份:

$ sudo cp /Applications/XAMPP/xamppfiles/etc/php.ini /etc/php.ini

现在我正在检查php -m对于模块,但没有 Xdebug,我收到此错误:

$ php -m
Failed loading /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so:  dlopen(/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so, 9): Symbol not found: _zend_execute_ex
  Referenced from: /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
  Expected in: flat namespace
 in /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
[PHP Modules]
bcmath
bz2
...

这是内容my php.ini file http://paste.ubuntu.com/6944846/(检查最后几行。)

你能告诉我如何为 PHPUnit 和 CLI 启用 Xdebug 吗?


What which php你有输出吗?

看起来您正在使用系统范围的 php 而不是 XAMPP 版本。要使用 XAMPP 添加PATH=/Applications/XAMPP/xamppfiles/bin/:PATH给你的~/.bashrc.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 PHP CLI 安装 Xdebug 的相关文章

随机推荐