1

我正在尝试在服务器上设置调试,但它不起作用。

这是我的设置:

  • Nginx 与 PHP 5.5.9 (fpm, unix socket) @ 192.168.1.40
  • 网络分享与源代码@192.168.1.50
  • 网络共享安装在 /shared/www/ 的网络服务器上
  • 我的项目位于 /shared/www/myProject 下,可通过http://myProject.local/访问
  • Zend Debugger 已安装,以下来自 php.ini:

    zend_extension="/usr/lib/php5/20151104/ZendDebugger-5.5.x-64bit.so" zend_debugger.allow_hosts=192.168.1.0/24,127.0.0.1 zend_debugger.expose_remotely=always

  • 该网站按预期工作,我在那里没有问题。
  • 我的工作站的 IP 为 192.168.1.10

现在我的 PHPStorm 设置:

文件 -> 设置 -> 语言和框架 -> PHP

  • PHP 语言级别 5.5
  • 解释器:192.168.1.40(我得到正确的 PHP 版本;调试器:Zend 调试器,正确的配置文件)

文件 -> 设置 -> 语言和框架 -> PHP -> 调试

  • Zend 调试器端口 = 10137
  • [x] 可以接受外部连接

文件 -> 设置 -> 语言和框架 -> PHP -> 服务器

添加了新服务器:192.168.1.40:80 - Zend 调试器

[x] 使用路径映射:文件/目录:\192.168.1.50\shared\www\myProject

服务器上的绝对路径:/shared/www/myProject

我以这种方式为 Chrome 配置了 zDebug:

  • 调试主机:192.168.1.10
  • 调试端口:10137
  • [x] 检查 Zend 调试器 Cookie
  • [x] 使用快速文件
  • [x] 调试本地副本
  • [x] 禁用右键单击

现在有了配置,这里是我的调试问题:

如果我单击“调试此页面”(无论我使用的是marklets还是 Chrome 扩展程序),站点都会加载一分钟左右,并且我会从 nginx 获得 504 Gateway Timeout。

现在,如果我单击“开始侦听 PHP 调试连接”(用于零配置调试)并再次尝试调试,我将立即获得 502 Bad Gateway。

我真的不知道为什么我会收到这个错误。Nginx 错误日志这样说:

2015/11/04 18:11:05 [错误] 4613#0: *107 recv() 在从上游读取响应标头时失败(104:对等方重置连接),客户端:192.168.1.10,服务器:192.168.1.40,请求:“GET /index.php HTTP/1.1”,上游:“fastcgi://unix:/var/run/php5-fpm.sock:”,主机:“192.168.1.40”

如果我禁用调试,则根本没有错误。

有人对这个问题有任何想法吗?我搜索了所有 PHPStorm 文档,但无济于事。

谢谢!

4

0 回答 0