簡體   English   中英

PHP XDEBUG 未啟用

[英]PHP XDEBUG not getting enabled

無法啟用 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() 中。

我在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 位

除了@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 之間切換以在 php.ini 文件中包含您的 xdebug 插件以查看效果。

遵循所有這些步驟應該可以解決您的問題。 如果您仍然面臨任何問題,請告訴我。 和平。

您不應該需要重命名您的 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 向導會自動選擇正確的版本)

如果您在 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"

我一周前安裝了 Xampp。 它已經與 ext 文件夾中的 php_xdebug.dll 文件一起安裝。

對我來說,解決方案是指定 xdebug 文件,如下所示,沒有文件路徑:

zend_extension = "php_xdebug.dll"

如果您使用的是運行 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 中設置正確。

如果您使用類似的設置,這里有一組詳細的說明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM