浏览器正在等待Symfony Homepage的最大存储时间。
如果我禁用keepalive(apache),则可以。收到响应标题" Connection: Close
",并且浏览器停止等待。总时间接近200ms。
如果我启用keepalive(apache),则标题响应是:
连接:保持现象
远离:超时= 5,最大= 500
转移编码:块
否' Content-Encoding
'标题
没有" content-length
"标题(保持活着)
php.ini:
output_buffering = 4096
我在远程服务器上使用php-fpm。这是Apache配置:
proxypassmatch ^/(。 .php(/.)?)$ fcgi://192.168.1.1:9000/var/var/php-fpm/www/public/$ 1
浏览器接收到数据,但正在等待5s。看来浏览器正在等待结束数据的结尾(最后0个大小数据包)。
Web服务器是Apache2.4.6,代码是PHP7.1.8/SYNFONY 4.开发过程环境中的相同代码正常(另一个主机)。
Apache日志中的执行时间接近20ms(不是5s!)。浏览器等待转移的结束,并随着守护超时而停止。如果我设置了20秒的Keepalive超时,则浏览器在接收数据后等待20秒。
Symfony性能指标"总执行时间"为18ms(在DEV模式下)。Internet Explorer时间轴(F12)显示5.35ms,在详细的末尾显示"响应时间" 5s。
如果我获得了一个简单的页面(phpinfo),我没有问题,它是Symfony HomePage,仅在Production Server上。
用卷曲(无ajax,js ...)的简单测试显示了问题:收到数据总数(</html>
),但卷发仍在等待5s,并写出消息:
转移与剩下的未读取数据
关闭
而不是:
连接#0到主机xxxxxxx左完整
如果我禁用ssl apache虚拟主机,并且我用提琴手进行测试,当我单击以解码响应主体时,提琴手显示此错误消息:
块的身体没有适当地终止于0尺寸的块
PHP/Synfony是否存在PHP块问题?
非常感谢。
我解决了我的问题。Apache中的"后卫"指令导致此"块"问题。此选项允许禁用AllowOverRide和.htaccess使用情况,并要求Apache Web服务器将所有请求重定向到一个页面(不再需要DirectoryInderyIndex)。但是看来它与索引页面的keepalive不兼容。我不知道它是否是Apache错误。