当前位置:首页 > 技术文章 > 正文内容

解决了困扰了几天的问题

arlanguage3个月前 (01-20)技术文章32

最近接了一个已有现成代码的项目,后台和接口是用PHP语言开发, 框架是thinkPHP, 前端用的是 uniapp, 主要是做一些新的功能开发和维护, 之前一直在Linux下开发, 最近在MAC下搭建了nginx + PHP + mysql 的环境做本地开发;

在开发的过程 遇到错误, 前端只显示An error occurred. Nginx 500 默认错误信息

第一时间认为没有开启框架的debug模式, 于是打开了thinkPHP的debug开关, 结果是一样不显示

于是尝试打开PHP配置文件错误信息的开关

php-fpm conf 文件修改为:

php_flag[display_errors] = on
php_admin_flag[log_errors] = on
php_admin_value[error_reporting] = E_ALL

php.ini 修改为:

display_errors = On
log_errors = On

发现没有作用, 而且日志文件也不显示错误日志, 配置文件应该是没有生效, 来回尝试了多次还是一样. 怎么会不生效呢, 明明是开启了呀?

研究框架代码发现thinkPHP开启debug模式 会把PHP的错误开关停掉, 于是注释带后前端页面是一样显示默认的错误页面
纳闷了几天, 没有成功的反馈,挫败感油然而生,

PHP开发的时候不显示提示错误信息,太影响开发效率, 不然也就算了.
今天重新想了一下问题, 为什么Nginx会一直显示这个500的页面, 而不是显示php-fpm 的错误提示信息呢. 既然这个页面是Nginx的 ,应该是nginx的配置问题, 没有把php的错误信息显示出来, 看了设置里面与一段

error_page 500 502 503 504 /50x.html;

于是把它注释掉

结果显示了框架的错误信息, 心里舒服呀[笑哭]

问题的核心: PHP框架错误信息的返回的状态码是500, Nginx接收到PHP的500状态码, 按照nginx配置直接返回500状态 默认页面, 而不是返回thinkPHP 的信息页面


开发代码也是一个熟能生巧的过程, 跟打怪兽一样 积累经验 不断升级

程序员自由职业赚钱养家不容易, 一个人干一个团队的事情, 而且必须是全栈, 前后端都要熟悉和开发.

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/981.html

标签: nginx 多php
分享给朋友:

“解决了困扰了几天的问题” 的相关文章

Nginx总结(六)nginx如何实现负载均衡

前面讲了如何配置Nginx虚拟主机,大家可以去这里看看nginx系列文章今天要说的是如何配置nginx和tomcat实现反向代理。需要说明的是:由于本文章是nginx系列文章中的一篇,文章里面很多其他的配置,可能前面的文章已经说讲过,然后后续就没有在介绍,如果出现有些配置没有讲,大家可能需要去看看前...

NGINX配置跨域CORS支持 nginx配置跨域请求

NGINX配置跨域CORS支持这两天在搞酷瓜云网课的 app,采用 uni-app 做全端支持,现学现卖,目前算是入门了。在做 H5 的时候难免会跨域请求后端 API,虽然用 HBuilder 内置的浏览器不会有跨域问题(这个应该是做了内部处理),但是那个内置浏览器真尼妈坑爹,过一会就会卡死,导致...

利用Nginx正向代理实现局域网电脑访问外网

引言在网络环境中,有时候我们需要让局域网内的电脑访问外网,但是由于网络策略或其他原因,直接访问外网是不可行的。这时候,可以借助 Nginx 来搭建一个正向代理服务器,实现局域网内电脑通过 Nginx 转发访问外网的需求。在工作中我遇到了一个类似的情况:在公司网络中,由于管理要求,局域网内的电脑不能直...

容器中Nginx高并发参数调优实战 nginx并发量过高怎么处理

在容器化的微服务架构中,Nginx作为反向代理和负载均衡器,常常需要承担高并发访问的压力。当并发连接数超过Nginx可处理的上限时,就会出现新连接被丢弃的情况。本文将详细介绍如何发现和定位这个问题,并通过调整内核参数和Nginx配置来解决。一、问题现象某Web服务在高并发场景下,偶尔会出现部分请求无...

08《Nginx 入门教程》Nginx 的 Http 模块介绍(中)

在前面介绍完 post-read、server-rewrite、find-config、rewrite 和 post-rewrite 阶段后,我们将继续学习 preaccess 和 access 两个阶段,中间会涉及部分模块,一同进行说明。1. preaccess 阶段在 preaccess 阶段在...

Linux 网络延迟排查方法 linux延迟10秒

在 Linux 服务器中,可以通过内核调优、DPDK 以及 XDP 等多种方式提高服务器的抗攻击能力,降低 DDoS 对正常服务的影响。在应用程序中,可以使用各级缓存、WAF、CDN 等来缓解 DDoS 对应用程序的影响。但是需要注意的是,如果 DDoS 流量已经到达 Linux 服务器,那么即使应...