我使用的是 PHP-FPM,直到昨天它都运行良好,但现在请求没有返回任何响应,并且一直运行下去 - 或者直到客户端/代理超时。PHP-FPM 前面有一个 NGINX 代理,但错误似乎出在 PHP-FPM 内部(直接连接到 PHP-FPM 进行确认)。服务器和 php 日志中没有这些请求的条目。
一些非常基本的脚本(例如“打印‘hello world’;”或 phpinfo,甚至是简单的数据库查询)通常可以正常工作并返回预期结果。但更复杂的应用程序(例如 Typo3 或 PHPMyAdmin)通常不会产生任何输出,也不会终止。
在某些情况下,即使是简单的脚本也无法工作并产生相同的症状。不过,这可以通过重新启动 PHP-FPM 来解决。
自问题出现以来的短短一段时间内,所有 PHP 请求都运行正常,因此这似乎不是永久性问题。但这些时候服务器或操作系统没有任何变化。
PHP-FPM 版本:7.0.18-0ubuntu0.16.04.1
答案1
我终于搞明白了:原因是 MySQL 数据库服务器的存储空间被重复的二进制日志填满了。这似乎导致了无休止的 INSERT/UPDATE 查询,我觉得这有点奇怪,因为在这种情况下我预计 PHP 或 MySQL 会引发错误……