簡體   English   中英

調試停留在PhpStorm上

[英]Debugging stuck on PhpStorm

在我的任何PhpStorm項目中,調試都不再起作用,當我開始偵聽傳入的連接時,腳本將被阻塞,直到我停止偵聽連接,即使我的代碼上沒有斷點也是如此。 當我在第一行上放置一個斷點(在其他行上不起作用)時,腳本確實停止了,但是當我告訴他轉到下一行時,它再次阻塞了(即使使用了最簡單的代碼)。

我試圖檢查調試配置,一切正常(我使用了PhpStorm的驗證器),路徑映射也正常,上周一切正常,我什么都沒改變...

這是我在php.ini上的配置:

xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_log=[path]/xdebug.log
xdebug.idekey=PHPSTORM

這是我的xdebug.log的一部分,當我在第一行上放置斷點然后執行以下操作時:

[4605] Log opened at 2019-03-12 14:13:50
[4605] I: Connecting to configured address/port: 127.0.0.1:9000.
[4605] I: Connected to client. :-)
[...]
[4605] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="context_get" transaction_id="19" context="1"><property name="$_COOKIE" fullname="$_COOKIE" type="array" [...] </property></response>
[...]
[4605] <- step_over -i 21
[4605] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="step_over" transaction_id="21" status="break" reason="ok"><xdebug:message filename="file:///[path]" lineno="4"></xdebug:message></response>
[4605]

第一個響應是它在第一行的斷點處停止時,我已使用“ $ _COOKIE”記錄了變量,一切正常,然后執行了一步,腳本就像卡住了。 而且問題不可能出在代碼中,我嘗試了只有2個“ echo”的腳本。 我嘗試重新啟動apache,嘗試重新啟動PhpStorm,然后嘗試重新啟動計算機,但沒有做任何更改。

我的PhpStorm版本:

PhpStorm 2018.1
Build #PS-181.4203.565, built on March 28, 2018
JRE: 1.8.0_152-release-1136-b20 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.4.0-102-generic

我的PHP版本:

PHP 7.1.27-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Mar  7 2019 20:02:03) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.1.27-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v2.7.0, Copyright (c) 2002-2019, by Derick Rethans

您對發生的事情有任何想法嗎? (看來我的php版本是上周構建的,也許是鏈接的...)

我找到了答案,這是phpstorm 2018.1和Xdebug 2.7.0之間的不兼容,因為在此xdebug錯誤報告中已指出: https ://bugs.xdebug.org/view.php?id = 1637

我將phpstorm升級到版本2018.3,現在一切都很好。

今天早上我一直在遇到同樣的問題。 我相信Xdebug的最新更新之一(大約在6天前正式更新?)可能破壞了PHP 7.1.x的版本。 我卸載了當前的xdebug版本,並使用了本地在apt緩存中的緩存版本。 我認為LazyOne可能會走上正確的道路,而Xdebug 2.6.1是我們需要的版本。

可用的緩存軟件包(在ubuntu上): /var/cache/apt/archives/

列出並grepped xdebug-列出了包含2.6.1的較舊的緩存程序包。

cd /var/cache/apt/archives/

ll | grep xdebug

並使用sudo dpkg -i packagename安裝了較舊的軟件包,其中packagename是我緩存的先前版本。

暫無
暫無

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

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