乐趣区

关于phpstorm:已解决xdebugphpStrom跳转报错导致闪退问题

解决办法:

phpStorm 设置勾销 _toString:

问题形容:

调试 index.php 的时候失常,然而跳转到 b.php 里的断点当前:断点闪退,并返回 502

php-fpm 报错,log:

 WARNING: [pool www] child 13746 exited on signal 11 (SIGSEGV) after 148.756432 seconds from start

nginx 返回 502,log:

[error] 12950#12950: *10 recv() failed (104: Connection reset by peer) while reading response header from upstream, client

调试细节:

#strace -f -F -s1000 -t -T `ps aux | grep -E 'php' | awk '{print"-p"$2}' | xargs`
#tail /var/log/messages

log:

[pid 11885] 15:23:01 write(4, "[11885] [Step Debug] <- eval -i 142 -- KHN0cmluZykoJGN0cmwp\n", 60) = 60 <0.000044>
[pid 11885] 15:23:01 write(4, "[11885] [Step Debug] <- eval -i 136 -- JEdMT0JBTFNbJ0lERV9FVkFMX0NBQ0hFJ11bJzM0NDcwZGUwLTRmNTUtNDFmOC04YTlmLTA1NTRhNTl                                                                                        iYmNmNSddPWVycm9yX3JlcG9ydGluZygpOw==\n", 156) = 156 <0.000025>
[pid 11885] 15:23:01 recvfrom(5, "eval -i 142 -- KHN0cmluZykoJGN0cmwp\0", 128, 0, NULL, NULL) = 36 <0.001644>
[pid 11885] 15:23:01 write(4, "[11885] [Step Debug] <- eval -i 142 -- KHN0cmluZykoJGN0cmwp\n", 60) = 60 <0.000044>
[pid 11885] 15:23:01 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x14} ---
[pid 11885] 15:23:01 +++ killed by SIGSEGV +++
[pid 11852] 15:23:01 <... epoll_wait resumed> 0x1b3f9e0, 1, 1000) = -1 EINTR (Interrupted system call) <0.863932>
[pid 11852] 15:23:01 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=11885, si_uid=99, si_status=SIGSEGV, si_utime=5, si_stime=55} ---

参考:

‘__toString BUG’

软件版本:

  • php 7.2
  • phpStrom 2022.2.2
  • xdebug 3.1.5
退出移动版