今天遇到一个奇葩的问题,详细描述如下:
环境:liunx,apache服务器,php项目,thinkphp
现象:通过jquery访问一个接口,在浏览器看,发现状态500,但是数据又正常返回了,百思不得其解,昨天还好好的
前端同事问我咋回事,我一看也是一脸懵逼。
500一般是服务器错,常见的就是后端代码写的有问题,比如:边界问题、空值未处理等,但这次就完全不同
解决:
解决方式也比较偶然,首先尝试了window下开发环境,一切正常,那基本就是linux环境的问题了,为了防止代码不一致,首先在linux上同步最新的代码,同步完成,再次尝试刚刚的页面,结果报了下面的错误:
看到这个错误,那就恍然大悟了,tp框架有缓存,所以会生成、操作环境下面的文件,这就涉及到权限,突然想到,早上的时候,更换了Apache,昨天www/项目名,的分组为nobody:nogroup,而新部署的apache环境,默认的用户与组为:
改了一下www/项目名 的分组,就成功了