【发布时间】:2018-02-20 05:17:48
【问题描述】:
尝试加载某些页面时,我收到 Bad Gateway Ngnix 502 错误,但是在页面刷新时它将解决页面加载问题。不确定这是否相关,但是一个页面需要大量的 mssql 查询,页面将加载结果,但不会继续加载与页面关联的 CSS。
master.blade.php 文件包含引导 css 和主题样式,extension.blade.php 将扩展 master(与我的项目中的多个其他页面一样)但是它包含一个 DB 查询,当 dd() 然而成功返回无法加载css。其他页面有时会出现此问题,并且多次刷新将更正页面加载。
希望有人可以帮助我的情况。听起来像配置问题?只是不确定..
更新
所有页面首先遇到错误网关 502,然后刷新 CSS 丢失(主要是引导程序)。 Bad Gateway 将在与 DB 查询无关的静态页面上刷新 2 或 3 次浏览器后出现。
我的设置:
- Mac OS X Sierra 10.12.6
- PHP 7.1
- Nginx 和 Laravel 5.6
www.conf 设置:
- pm = 动态
- pm.max_children = 10
- pm.start_servers = 10
- pm.min_spare_servers = 10
- pm.max_spare_servers = 10
~/.valet/Nginx/Sites.dev-env(我的代客泊车的项目目录)有以下几行(我自己添加来尝试解决这个问题):
`fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/Users/myusername/.valet/valet.sock;
fastcgi_index
/Users/myusername/.composer/vendor/laravel/valet/server.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME
/Users/myusername/.composer/vendor/laravel/valet/server.php;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;`
php-fpm.conf 设置:
- 默认为
include=/usr/local/etc/php/7.1/php-fpm.d/*.conf
Laravel Storage 有一个 777 权限集(只是为了确定它是否是文件权限问题,这将恢复为 755 fyi)
现在解决这个问题的关键是提供以下内容的错误日志:
php错误日志:
`[22-Feb-2018 10:29:06 Australia/Sydney] PHP Fatal error: Uncaught
PDOException: SQLSTATE[25000]: [FreeTDS][SQL Server]The ROLLBACK
TRANSACTION request has no corresp$
Stack trace:
0 {main}
thrown in [no active file] on line 0`
但是,我唯一与此相关的 SQL 是一个选择查询,但我不认为这是错误网关的主要原因。
~/.valet/log/nginx-error.log:
`2018/02/22 10:24:23 [error] 62179#0: *9 upstream prematurely closed
connection while reading response header from upstream, client:
127.0.0.1, server: sites.dev-env`
我认为这是主要问题。它发生在 Bad Gateway 错误的每一个点,我一直试图弄清楚它到底意味着什么。这个日志文件有很多这些错误,显然我试图弄清楚是什么。正在进行。
我临时解决问题的方法是代客重启。重新启动 nginx 或 php 并不能解决问题,因此,将其隔离为代客。
【问题讨论】:
-
你在 ngnix 日志中看到什么了吗?
-
在 ngnix 日志中找不到任何内容。
-
您检查过删除查询是否有效?
-
刚刚查看页面的源代码时也发现,打开css显示很好,jquery脚本产生了一个坏的网关,然后重新打开它就可以了。这是非常间歇性的,毕竟与查询数据库无关。
-
发现唯一的错误是在 php 日志中:[20-Feb-2018 16:31:53 Australia/Sydney] PHP 致命错误:无法重新声明 valet_default_site_path()(之前在 /Users/myusername 中声明/.composer/vendor/laravel/valet/server.php:43) 在 /Users/myusername/.composer/vendor/laravel/valet/server.php 第 43 行
标签: css laravel laravel-5 bad-gateway