invalid contrller specified 错误分析及解决
今天部署项目时在开发环境正常的服务,在线上部署后报错
invalid contrller specified
打开错误日志,发现有个 mkdir Permission denied in ...
修改目录及文件权限为777解决。
chmod -R 777 code
之后查了下zend framework 源码。
public function isDispatchable(Zend_Controller_Request_Abstract $request)
{
$className = $this->getControllerClass($request);
if (!$className) {
return false;
}
if (class_exists($className, false)) {
return true;
}
$fileSpec = $this->classToFilename($className);
$dispatchDir = $this->getDispatchDirectory();
$test = $dispatchDir . DIRECTORY_SEPARATOR . $fileSpec;
return Zend_Loader::isReadable($test);
}
知道了如下几种错误会引发此异常。
- 从请求中未获取到控制器类名
- 控制器类文件不存在
- 控制器类文件无读取权限
解决方法:仔细检查请求路径,修改代码权限(修改为777进行测试)。
文字均为博主原创,转载请联系博主,谢谢!

浙公网安备 33010602011771号