CakePHP 错误的视图路径或 RoutingAliases 的对流

Posted

技术标签:

【中文标题】CakePHP 错误的视图路径或 RoutingAliases 的对流【英文标题】:CakePHP wrong views path or convections for RoutingAliases 【发布时间】:2012-01-05 09:36:10 【问题描述】:

我很困惑。我正在使用 Cakephp 1.2 并尝试添加这个结构:

数据库名称:路由别名 型号名称:Routingalias、routingalias.php 控制器:RoutingaliasesController 和 var $name = 'Routingaliases';, routingaliases_controller.php 视图:文件夹名称 - 路由别名,有 index.ctp 和 main.ctp

但是当尝试打开http://example.com/routingaliases/index时我收到错误:

错误:找不到 RoutingaliasesController::index() 的视图。

错误:确认您已创建文件:/var/www/***/views/routingaliases/index.ctp

注意:如果要自定义此错误消息,请创建 */views/errors/missing_view.ctp

实际上文件夹和视图文件存在,但我得到它错误。有人可以帮我解决一下吗?

【问题讨论】:

您确定您的网络服务器可以读取该文件吗?确保视图文件具有适当的权限(在 Linux 服务器上,通常以 www-data 或 apache 用户为所有者,具有 chmod 644 权限)。还可以尝试检查您的错误日志以获取更多详细信息(可能值得同时检查您的 Web 服务器的错误日志以及 app/tmp/logs/error.log 和 debug.log 下的 cake 日志)。 谢谢@Oldskool 这解决了我的问题。问题是:有人使用 root 权限创建了该文件夹,然后出现了很多问题...... 很高兴听到这个消息,将其作为答案发布,因为它可以帮助遇到相同问题的其他人更轻松地找到解决方案。 【参考方案1】:

您确定您的网络服务器可以读取该文件吗?确保视图文件具有适当的权限(在 Linux 服务器上,通常以 www-data 或 apache 用户为所有者,具有 chmod 644 权限)。

还可以尝试检查您的错误日志以获取更多详细信息(可能值得同时检查您的 Web 服务器的错误日志以及 app/tmp/logs/error.log 和 debug.log 下的 cake 日志)。

【讨论】:

【参考方案2】:

听起来你的命名有问题,不确定是什么,但你为什么不使用 CakePHP 命名约定?根据它,你应该有:

视图文件夹:routing_aliases

模型:routing_alias.php,类名RoutingAlias

控制器:routing_aliases_controller.php,类名 RoutingAliasesController,var $name = RoutingAliases

db 表名是 routing_aliases,但如果由于某种原因不想更改它,可以在模型中添加 var $useTable = 'routingaliases';

【讨论】:

是一样的...缺少视图错误:找不到 RoutingAliasesController::main() 的视图。错误:确认您已创建文件:/var/www/******/views/routing_aliases/main.ctp 注意:如果要自定义此错误消息,请创建 ***/views/errors/missing_view。 cp 这看起来很奇怪,你确定你在 routing_aliases 文件夹中有 main.ctp 吗?如果这样做,您可能需要检查权限,可能文件不可读。 是的,是权限问题:)

以上是关于CakePHP 错误的视图路径或 RoutingAliases 的对流的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP 1.2 应用程序具有非常规的 Cake 路径抛出错误

Cakephp,将视图添加到侧边栏

CakePHP 3.7。*迁移:跳过或更改schema.lock文件生成路径

CakePHP4 Ajax:从控制器发送到视图

CakePHP 语法错误或访问冲突

CakePHP - 调用另一个模型导致“SQLSTATE [42000]:语法错误或访问冲突”