gpt4 book ai didi

php - Windows bash NGINX 未完成成功的 PHP-FPM 操作

转载 作者:行者123 更新时间:2023-12-04 19:12:21 25 4
gpt4 key购买 nike

这是一个非常奇怪的问题......
操作系统:Windows 10
环境:Ubuntu Bash
Nginx : nginx/1.10.3 (Ubuntu)
PHP : PHP 7.2.1-1+ubuntu16.04.1+deb.sury.org+1
当我从 CLI 直接对 PHP-FPM 进行测试时,响应很好。
喜欢...

SCRIPT_NAME=/status SCRIPT_FILENAME=/status REQUEST_METHOD=GETcgi-fcgi -bind -connect /run/php/php7.2-fpm.sock


连接到这个状态系统 https://easyengine.io/tutorials/php/fpm-status-page/
在 Nginx 启动时,它在日志中给出了这些错误

2018/06/24 15:08:45 [alert] 6772#6772: *2 open socket #15 left in connection 4

2018/06/24 15:08:45 [alert] 6772#6772: aborting`


但是如果我连接到 http://127.0.0.1/status测试它(或任何本地 url)......请求挂起,直到它 502's。仅使用这些标题:

Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html; charset=UTF-8
Date: Sun, 24 Jun 2018 22:17:13 GMT
Server: nginx/1.10.3 (Ubuntu)
Transfer-Encoding: chunked


这个错误显示在 nginx 日志中

2018/06/24 15:09:48 [error] 6834#6834: *1 upstream timed out (110:Connection timed out) while reading upstream, client: 127.0.0.1,server: _, request: "GET /status HTTP/1.1", upstream:"fastcgi://unix:/run/php/php7.2-fpm.sock:", host: "127.0.0.1"


但是,如果我在 PHP-FPM 服务挂起时将其终止,则响应会完美地显示在浏览器中。就像它来自直接 CLI 请求一样。
nginx 配置的其余部分是默认设置。我将 sock 用于 fpm,而不是 ip:port。 ip:port 设置甚至无法解决一大堆其他问题。
很明显,FPM 运行正常......但由于某种原因,Nginx 特别无法确定响应何时完成发送,Nginx 只是挂起等待它被视为完成,这永远不会发生......所以页面错误。我一直在搜索我可以在网上找到的每一个半相似的解决方案,但似乎没有什么是我的相同问题;他们的方法也不适合我。
有任何想法吗?谢谢!

最佳答案

我通过将以下内容添加到/etc/nginx/nginx.conf 中的 http block 来解决此问题:

fastcgi_buffering off;

关于php - Windows bash NGINX 未完成成功的 PHP-FPM 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51014458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com