ERR_CONNECTION_RESET使用symfony2,但不使用PHP脚本


ERR_CONNECTION_RESET with symfony2 but not with PHP script

我目前正在使用Symfony开发一个web应用程序,该应用程序应该连接到远程web服务。然后将数据库从客户端同步到服务器,反之亦然。

Web服务服务器位于LAN中的IIS上。Symfony2正在我的机器上与Wamp一起运行。

因此,在一个简单的php脚本中连接web服务和请求web服务的代码是完全正常的。或者至少,它做了我想让它做的事。与IIS服务器的任何连接都非常好。虽然有点慢,但机器还是一团糟。

现在,我把同样的代码放入Symfony2类中,结果就来了。当我尝试加载该页面时,我会得到一个

101错误(ERR_CONNECTION_RESET)

Web服务服务器的日志告诉我登录、请求和响应已经发送。所以我猜问题出在我的机器上,但不太确定

真正有趣的是:我设法让它工作了大约10次。然后又是101。。。

我禁用了Windows 7 LAN防火墙的两侧,结果相同。

任何线索都非常受欢迎。谢谢

我和一位同事花了几个小时调试它。他也出现了同样的错误,但在我的机器上运行正常(我们使用的是Windows 7,64位,WAMPServer 2.2d,32位)。
以下是罪魁祸首:
-TwigEngine.php文件在我的机器上有Unix风格的行尾(LF),但在他的机器上有Windows风格的行尾(CR+LF)
-在将行尾改为仅LF后,它在他的机器上也能正常工作

这可能解释了上面的另一个答案"我所需要做的就是重新保存如果编辑器更改了行尾的格式。

根本原因是安装了git,他选择了默认值("Windows样式签出"),而我选择了"原样")。

经过更多的研究。以下是对此原因的解释:https://github.com/symfony/symfony/issues/3216

希望这能帮助其他人节省一些时间。

我解决了这个问题。。。

我在app_dev.php中将AppKernel的第二个参数设置为FALSE,现在运行良好

$kernel = new AppKernel('dev', FALSE);

我会继续调查。。。

经过4个小时的"调试",我发现我所需要做的只是重新保存

TwigBundle/TigEngine.php

我不知道为什么

事实上,我认为(至少在我的情况下)这些错误与树枝有关。有时,当在app/logs/dev.log中记录到与trick相关的严重错误时,我会得到101。这些关键错误通常是语法错误,所以这里没有真正的问题。一旦它们得到处理,就没有问题了。

奇怪的是,有时,清除缓存可以让我加载页面3到4次。

Mike WP成功了。TwigEngine需要LF行结尾才能正常工作。您可以使用此控制台命令,然后必须更新/重新安装供应商。

git config --global core.autocrlf input

我在使用XAMPP的Windows上遇到了同样的问题,通过以下方式解决:

composer require "twig/twig:^2.0"