上传图片到服务器时 wordpress / php-fpm 崩溃

上传图片到服务器时 wordpress / php-fpm 崩溃

我已成功将 wordpress 服务器迁移到新的 VPC(Amazon),但 php-fpm 似乎无法处理图像上传。当我上传图像时,它只上传了一部分,然后就停滞了,甚至根本无法启动。之后它就挂起了。

如果我重新启动 php-fpm,服务器就会恢复运行,但图像显然没有上传。

所以我猜这是 php-fpm 无法处理文件上传的问题。我已打开 php-fpm 日志记录,但它没有抛出任何错误,只有守护进程启动/停止

    [26-Sep-2014 09:17:24] NOTICE: Terminating ...
[26-Sep-2014 09:17:24] NOTICE: exiting, bye-bye!
[26-Sep-2014 09:17:24] NOTICE: fpm is running, pid 290
[26-Sep-2014 09:17:24] NOTICE: ready to handle connections
[26-Sep-2014 09:17:24] NOTICE: systemd monitor interval set to 10000ms

nginx 中的错误日志如下所示

2014/09/26 09:17:24 [error] 276#0: *1 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 176.32.75.158, server: ec2-54-64-187-3.ap-northeast-1.compute.amazonaws.com, request: "POST /wp-admin/async-upload.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "ec2-54-64-187-3.ap-northeast-1.compute.amazonaws.com", referrer: "http://ec2-54-64-187-3.ap-northeast-1.compute.amazonaws.com/wp-admin/media-new.php"

正如您在该错误中看到的,php-fpm 在接收到处理文件的调用时挂起。

我已经将 php-fpm 的日志记录提升到错误级别,但在重现错误时我得到的最多信息是

[pool www] server reached pm.max_children setting (5), consider raising it

我已经提高了 pm.max_children 但没有效果,问题仍然存在

我在其他地方找不到任何相关错误,此时我非常迷茫

有人经历过这种情况吗?可以告诉我问题出在哪里吗?

答案1

如果您使用 Cloudflare 或类似程序,则第三方服务上的文件上传可能会达到限制。如果没有,我会检查 Web 服务器的上传大小。php 上传中有 2 个变量:

upload_max_filesize 和 post_max_size

两者都应高于文件上传大小。内存可能也需要与之匹配,这取决于脚本。最后,根据 Web 服务器的不同,可能会有类似的限制:nginx 中的 client_max_body_size 也应高于上传文件大小。

相关内容