尝试在浏览器中打开 Symfony Web 应用程序以 502 错误结束。 NGINX 日志包含此错误 - 上游在从上游读取响应标头时发送了太大的标头。 根据许多建议,在 http 上下文中的 nginx.conf 中进行了以下更改:
fastcgi_buffers 16 4k;
fastcgi_busy_buffers_size 60k;
Symfony Web 应用程序的 NGINX 配置文件看起来像官方文档中建议的那样:
server {
listen 80;
listen [::]:80;
server_name neuro3.vbulash.site;
root /usr/share/nginx/html/neuro3/public;
index index.html index.php;
charset utf-8;
location = /favicon.ico {
access_log off; log_not_found off;
}
location = /robots.txt {
access_log off; log_not_found off;
}
access_log off;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
internal;
}
error_log /var/log/nginx/neuro3.vbulash.site.error.log;
}
它适用于 Laravel,但对于 Symfony 会产生错误“在从上游读取响应标头时上游发送了太大的标头”。 如何解决这个问题?
https://github.com/symfony/symfony/issues/38462#issuecomment-716398011
我没有环境来测试它,但正如docker-library/php#878(评论)所说,禁用
可以解决问题。fastcgi.logging
- 设置 SHELL_VERBOSITY=0 或其他值 < 3 in .env: https://stackoverflow.com/a/69321273/13653732 在这种情况下,您可以禁用 PHP 日志,但它们对于开发和调试非常有用。