将我的 zend Web 应用程序移动到 linux 服务器后,当我的布局尝试包含一个 javascript 文件时,我遇到了一个奇怪的问题:-
<?php echo $this->headScript()
->appendFile('/js/jquery/jquery.jqDock.min.js'); ?>
代码通过我的 zend_acl 工厂:-
if($objAcl->isAllowed($role, $request->getModuleName() .'::'.$request->getControllerName() .'::' .$request->getActionName(), 'view')){
//carry on with loading....
}
请求对象如下所示:-
$request->module = 'ajfit'
$request->controller = 'js'
$request->action = 'jquery'
$request->_baseUri = '/js/jquery/jquery.jqDock.min.js'
当上面的代码被单步执行时,应用程序会抛出这个异常:-
$ex->message = "Resource 'ajfit::js::jquery' not found"
我当然知道我没有将此资源添加到我的 $objAcl zend_acl 中,并且我知道我不允许访问它,而且我不想这样做。这是一个存在于 /public/js/jquery/ 中的本地资源,应被绕过并视为非 mvc 资源。
当此应用程序在 Windows 中运行时,它识别出 '/js/jquery/jquery.jqDock.min.js' 是本地资源并且没有通过 zend_acl。
我的配置中是否缺少某些内容,也许是我的 .htaccess 文件中的设置?
我戴着这个把头发拉出来。
谢谢。
安德鲁