检查 xdebug 是否正常工作

2022-08-30 07:42:44

在不安装文本编辑器或IDE的情况下,是否可以测试xdebug是否正常工作,即它是否可以调试php代码?

xdebug 在 phpinfo() 中出现的唯一部分是:

其他.ini文件解析为 /etc/php5/apache2/conf.d/mysql.ini, /etc/php5/apache2/conf.d/mysqli.ini, /etc/php5/apache2/conf.d/pdo.ini, /etc/php5/apache2/conf.d/pdo_mysql.ini, /etc/php5/apache2/conf.d/xdebug.ini

在其他任何地方的phpinfo()中都没有提到它。


答案 1

如果不实际进行一些调试,我想您无法确定调试器是否正常工作。

但是你可以非常肯定 - 我想人们应该假设如果xDebug的某些方面正在工作,那么它都会工作。

鉴于此,您可以通过尝试以下操作来确认 xDebug 已安装并就位:

1) -- 这将显示所有加载的扩展,包括 xDebug。如果它在那里,那么可以肯定的是,它正在工作。phpinfo()

2)如果这对您来说还不够好,您可以尝试使用该功能。xDebug 修改 的输出以包括其他信息。如果这到位,则 xDebug 正在工作。var_dump()var_dump()

3) xDebug 修改 PHP 的错误输出。如果您的程序在xDebug就位时崩溃,您将获得有关失败的更多信息,而不是使用标准PHP崩溃输出。

4) xDebug 还为 PHP 添加了许多帮助程序函数。您可以尝试其中任何一个,看看它是否有效。例如,该函数应存在并返回一个数组。如果是这样,则安装 xDebug。如果不是,则不是。xdebug_get_code_coverage()


答案 2

php -m -c

,然后查找 .如果它被加载,它应该在某个地方![Zend Modules]

如果您使用的是 Ubuntu,它可能不会显示在此处,因为您需要将设置从 添加到 中。xdebug/etc/php5/apache2/php.ini/etc/php5/cli/php.ini

我的 Xdebug 设置:

对于 Xdebug 3(及更高版本)

[xdebug]
zend_extension = /usr/lib/php5/20121212/xdebug.so
xdebug.mode=debug
xdebug.client_host=localhost
;# The default is 9003
xdebug.client_port=9000

对于 Xdebug 2.9(或更低版本)

[xdebug]
zend_extension = /usr/lib/php5/20121212/xdebug.so
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000

推荐