报错
自己的php工程里使用了autoload方法:
function autoload($class) {
if (file_exists(dirname(__FILE__) . "/class." . $class . ".inc.php")) {
require (dirname(__FILE__) . "/class." . $class . ".inc.php");
} else {
exit('{"error":true,"error_code":0,"error_description":"autoload failed"}');
}
}
// spl_autoload_register
spl_autoload_register("autoload");
每次在新的服务器上部署项目时经常遇到请求接口返回报错信息
{"error":true,"error_code":0,"error_description":"autoload failed"}
解决方法
自己并不是php开发,这里只是修改别人的项目,对php方面不是很熟悉。
开始以为是php版本的问题,或者是调用autoload需要安装什么依赖,但是查了一下资料, 版本符合要求,autoload也不需要有安装依赖。
后来想到了是不是没有安装其他class需要的依赖,导致自动加载失败。把其他class里需要用的依赖理了一遍后,发现果然缺了一个依赖,安装完之后,重启php-fpm,autoload就正常了。
PS:多看看nginx的报错日志,很多php的报错信息并不是在php-fpm的日志里。