微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Xdebug设置cookie XDEBUG_SESSION的次数太多了

我使用PHPStorm,xdebug和Nginx + PHP-fpm进行远程debugging。 当我在请求GET参数中传递XDEBUG_SESSION_START=my_ide_key时,Nginx会使用502错误代码(Bad Gateway)。 同时,我在IDE中的代码断点工作正常。 当我不通过XDEBUG_SESSION_START参数Nginx响应格式良好的HTML和代码200.但明显没有这个参数,它是没有debugging。

Nginx错误日志中,我看到有关从上游收到的大头的通知。 我试图转储PHP-fpm和Nginx间的通信,只是一个不同的事情是一个Set-Cookie头:

Set-Cookie: XDEBUG_SESSION=666; expires=Mon,16-Sep-2013 16:07:28 GMT; path=/

我试图find这个标题出现在响应。 我发现在我的smarty插件Smarty_Internal_Template析构函数(在我的启动脚本的最后一行代码之后),如果我调用headers_list()我看到成长的Set-Cookie头(相等的析构函数调用和Set-Cookie头量)的数量。 我相信在我的代码中没有明确的header('Set-Cookie: XDEBUG_SESSION=...') 。 我尝试升级和降级xdebug版本,但仍然有相同的行为。 在Smarty_Internal_Template放置代码remove_header('Set-Cookie')解决了我的问题,但这是丑陋的黑客!

对这种奇怪的情况有什么想法?

Heroku上传和脚本执行限制

如何为WebSocket协议configurationAWS ELB和Nginx

sudo systemctl start返回“无法等待响应:成功”

uWsgi Nginx错误:connect()失败(111:连接被拒绝),同时连接到上游

Nginx自定义错误页面502与CSS和图像文件

正确configurationFlask SocketIO的configuration

Nginx:使用fastcgi_pass时会覆盖主机头

Nginx权限问题(404)

PHP致命错误发生时,Nginx会将HTTP错误500报告给浏览器

Nginx子域重写

在这种情况下,我建议不要使用XDEBUG_SESSION_START。 对我来说,看起来像XDEBUG_SESSION_START触发在服务器端执行一些代码来设置cookie。 这是干扰聪明的模板代码

在我所有使用PHPStorm的经验中,我发现打开xdebug的最好方法是通过书签,您可以在此生成

https://www.jetbrains.com/PHPstorm/marklets/

小书签在浏览器中设置cookie。 因此,在服务器中不执行代码来设置XDEBUG_SESSION和路径变量,并且可以减少或消除对smarty代码的干扰。

此外,PHPStorm的一个提示是确保PHPStorm已启动并运行,并且网络连接在PHPStorm和PHP-fpm之间正常工作(我推测这正是您与Nginx结合使用的)。

如果PHP-fpm无法连接到PHPStorm,根据我的经验,代码最终会在服务器上执行,但是会非常慢。

当我把这个错误看作一个性能问题并浪费了很多时间的时候,已经有好几次了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐