昨天调试器无故停止工作。我使用PhpStorm IDE进行调试。我在页面的开头放置了断点,但断点并没有停止。
我尝试用相同的PHP版本调试控制台脚本,并且运行良好-调试在断点处停止。我在Apache服务器上更改了php版本,并在另一个项目上尝试了degguning-它工作正常,调试在断点处停止。
PHP版本 5.6.40-12 + ubuntu18.04.1 + deb.sury.org + 1
/etc/php/5.6/apache2/conf.d/20-xdebug.ini
zend_extension=xdebug.so
xdebug.remote_connect_back=1
xdebug.remote_port=9000
xdebug.scream=0
xdebug.show_local_vars=1
xdebug.idekey=PHPSTORM
xdebug.remote_enable=1
xdebug.remote_log='/val/log/xdebug.log'
PhpStorm 2019.2.3 版本号PS-192.6817.20,于2019年9月25日建立 运行时版本:11.0.4 + 10-b304.69 amd64 VM:JetBrains s.r.o的OpenJDK 64位服务器VM Linux 5.0.0-27-通用
在调试开始时,PhpStorm日志中有警告。也许有帮助:
2019-10-07 15:51:33,188 [25325256] WARN - il.connection.ServerConnection - input stream is finished
java.io.IOException: input stream is finished
at com.jetbrains.php.debug.xdebug.dbgp.DbgpUtil.readDocument(DbgpUtil.java:115)
at com.jetbrains.php.debug.xdebug.dbgp.DbgpUtil.readMessage(DbgpUtil.java:283)
at com.jetbrains.php.debug.xdebug.connection.XdebugConnection$MyInputReader.read(XdebugConnection.java:135)
at com.jetbrains.php.debug.xdebug.connection.XdebugConnection$MyInputReader.read(XdebugConnection.java:124)
at com.jetbrains.php.debug.xdebug.connection.XdebugConnection.init(XdebugConnection.java:47)
at com.jetbrains.php.debug.connection.PhpDebugServer.handle(PhpDebugServer.java:51)
at com.jetbrains.php.debug.connection.PhpDebugServer.handle(PhpDebugServer.java:34)
at com.jetbrains.php.util.connection.ServerConnection.lambda$null$0(ServerConnection.java:64)
at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:294)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
如何解决问题,如何强制Xdebug在断点处停止?
答案 0 :(得分:3)
从错误消息中,我可以看到调试会话确实起作用。 PhpStorm似乎中止了连接。
Xdebug可能正在发送PhpStorm无法理解的XML(即无效)。我怀疑是由于属性名称或数组键名称中的字符为空。 (随时将完整日志发布到pastebin中,我很乐意查看并修改答案)。
您已经在创建远程日志文件,因此请查看调试会话中止后的最后几行,恰好。
您可以通过将Xdebug升级到受支持的版本(当前为2.7.2)来解决此问题。