- 400 #请求语法有错误(参数个数不对,请求方式不对),一种情况是服务器接收2个参数,但请求传的参数个数不是2个(在yii中多传可以少传不行);还有可能是服务器请求方式必须是get, 但是请求的一方使用的是post,put等。比如yii做微信APP支付的时候,因为框架的,post请求需要验证CSRF,而微信没有传CSRF参数。所以就不能接收到微信的请求,报400。解决办法是在对应的控制器里关闭CSRF验证机制。
- 500 #服务器内部错误, 可能是代码的错误, 但是也不要忽略数据库, 数据库的字段约束类型, 长度, 索引等是不是造成了存储数据的时候违反了列的完整性约束. 还有可能是模型里设置rules规则导致没保存成功. 很多种可能
- 403 #可能配置nginx的虚拟主机时, 没有加上 index index.php index.html 等 . 还有可能就是项目配置的根目录不是index.php, 需要加上 autoindex on 开启目录
- 502 #作为网关或者代理工作的服务器尝试执行请求时, 从上游服务器接收到无效的响应 这篇文章写得nice---> 分析了出现502可能的原因
- 504 #gateway time-out 作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。
- 404 # 请求的资源不存在, 这个排查可以去看nginx的error.log 路径不对或者文件本就不存在 , 有可能是root 设置的根目录不对, 因为具体寻找是root 设置的目录 + 请求的URI 举个栗子: 文件所在的路径是/home/project/phpinfo, 然后请求的URI是/phpinfo 然后root 设置的是/home/project/phpinfo 最后访问的路径变成了/home/project/phpinfo/phpinfo 那肯定找不到文件, 所以root设置到/home/project/ 即可最后的/ 加不加都行, 两个//和一个/一样 这种情况一般是在location不是全匹配的 时候 具体参考
转载于:https://www.cnblogs.com/bneglect/p/11455798.html