![大文件上传时出现 502 错误网关:Nginx + PHP-FPM](https://linux22.com/image/599107/%E5%A4%A7%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E6%97%B6%E5%87%BA%E7%8E%B0%20502%20%E9%94%99%E8%AF%AF%E7%BD%91%E5%85%B3%EF%BC%9ANginx%20%2B%20PHP-FPM.png)
我在 nginx 上运行 php-fpm
我的 php.ini 值设置如下
upload_max_filesize = 100M
post_max_size = 128M
max_execution_time = 180
我还将 client_max_body_size 设置为 4G。当我尝试上传少量文件时,它们可以正常工作,但当我尝试上传大量文件(例如 35M)时,我得到了 502 错误,当我查看日志时,我看到,
upstream sent unexpected FastCGI record: 3 while reading response header from upstream
有什么想法吗?我已经尝试了 nginx 线程,但它们并没有真正的帮助。
提前致谢
答案1
第一步:确保您已启用错误日志记录php.ini
并检查日志条目。
从您的日志条目中:
WARNING: [pool www] child 920 said into stderr: "NOTICE: PHP message: PHP Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 39277825 bytes) in Unknown on line 0"
看来 PHP 在处理上传文件时内存不足。您需要增加该memory_limit
参数。有关上传调整的更多信息,请访问 PHP 网站。