6

无法启用 XDEBUG。任何帮助或检查它是否已启用且未反映?我在 PHP7 上并且正在使用 Xdebug 2.4.0rc2。PHP.INI 设置如下:

[XDebug]
zend_extension="C:/php/ext/php_xdebug.dll"

xdebug.remote_enable = on
xdebug.remote_host = localhost
xdebug.remote_port = 10000
xdebug.remote_handler = dbgp
xdebug.profiler_enable = 1 
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "profilerlogs"
xdebug.profiler_output_name = cachegrind.out.%p

无法启用它。这些步骤是正确的,但也没有显示在 phpinfo() 中。

4

6 回答 6

6

我在XAMPP PHP7 上遇到了同样的问题,现在它已经解决了 :) 你的目录中应该有丢失或错误的扩展文件C:/php/ext/

这将解决您的问题。

  1. 转到xDebug
  2. 下载 Xdebug 2.4.0rc1 (PHP 7.0 VC14 TS 32/64)
  3. 将其重命名为 php_xdebug.dll
  4. 将此文件粘贴到“php/ext”文件夹中
  5. 重新启动您的服务器。

现在检查你的phpinfo()

就我而言,有 64 位版本,所以我刚刚更改为 32 位

于 2016-01-04T13:33:50.883 回答
4

除了@haider-lasani 所说的,请不要忘记您使用的是什么类型的 PHP。最新的 XAMPP 使用了一些非常复杂的设置。

转到您的 PHP 文件夹并检查您是否有 php7.dll 或 php7ts.dll。如果你有后一个版本,那么你应该选择 xdebug 的 TS 版本。还要检查 VC 版本。在这种情况下,它是 VC14。现在即使我使用的是 TS 版本的 PHP,我仍然必须使用zend_extension="C:/php/ext/php_xdebug.dll"而不是zend_extension_ts="C:/php/ext/php_xdebug.dll"添加插件

TL;DR 在下载 xdebug 时,请确保:

  1. 检查 x64/x86 位版本。(使用 x86 xdebug 只是为了安全)
  2. 检查您使用的 PHP 版本。
  3. 通过检查您是否有 php{x}.dll 或 php{x}ts.dll。{x} 是您的 php 版本来检查您是否有 TS 或非 TS 版本的 PHP。
  4. 尝试在 zend_extension 和 zend_extension_ts 之间切换,以将您的 xdebug 插件包含在您的 php.ini 文件中,看看有什么用。

遵循所有这些步骤应该可以理想地解决您的问题。如果您仍然遇到任何问题,请告诉我。和平。

于 2016-11-13T13:37:14.090 回答
2

您不需要重命名 DLL,最好不要这样做,因为它允许您查看正在运行的 XDebug 版本。

这是我所做的并且有效:

此答案假定您已使用正确的 PATH 条目设置 PHP,以便您可以从命令行运行 PHP,例如 GitBash https://git-for-windows.github.io/

  1. 打开命令行并输入:

    $ php -i

  2. 滚动到顶部并从您看到的命令行窗口开始复制输出

    phpinfo()

    .....复制内容,直到看到最后一行结束:

    If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact license@php.net. `

  3. 转到 XDebug Windows 向导https://xdebug.org/wizard.php并将您的 PHPInfo 粘贴到大文本框中并提交。

  4. 将显示一个新页面,其中包含说明和“PHP 的系统摘要。仔细按照说明进行操作并选择下载链接。

  5. 修改 PHP.ini 并观察“ext”文件夹的位置后,将下载的 XDebug dll 文件复制到“ext”文件夹。

  6. 再次打开命令行并输入以下命令:

    $ php -m

如果您正确遵循了说明,您将看到输出包含以下内容:

[Zend Modules] Xdebug

否则,您将在控制台输出顶部看到错误,例如: Cannot load Xdebug

通常,发生错误是因为您的 XDebug:

  • 不在正确的位置
  • 是错误的版本
  • 由于线程类型不兼容:您的 PHP 可能是线程安全的,而您的 XDebug 不是线程安全的(XDebug 向导会自动选择正确的版本)
于 2016-11-21T11:50:58.830 回答
2

如果您在 WSL 或 Linux 上进行远程开发,请检查您的 php 目录,因为您可能需要修改php.ini以下位置的文件:

/etc/php/7.2/apache2/php.ini

/etc/php/7.2/cli/php.ini

[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1

;don't forget to change the path and filename to the correct one
;but make sure you use the full path

zend_extension="/usr/local/php/modules/xdebug.so"
于 2020-02-27T17:20:50.200 回答
0

我在一周前安装了 Xampp。它已经与 ext 文件夹中的 php_xdebug.dll 文件一起安装。

对我来说,解决方案是指定 xdebug 文件,如下所示,没有文件路径:

zend_extension = "php_xdebug.dll"
于 2016-11-11T14:12:06.603 回答
0

如果您在运行 PHP 7.2 和 Apache 2.4 的 Windows 10 x64 上,指定没有完整路径的 DLL,如下所示

zend_extension = php_xdebug-2.8.0-7.2-vc15-x86_64.dll

为我工作,因为我extension_dir = "ext"在 php.ini 中正确设置。

如果您使用类似的设置,这里有一组详细的说明。

于 2019-11-16T22:10:10.393 回答