CakePHP 3 Apache 找不到视图

CakePHP 3 Apache does not find Views

我刚开始使用 CakePHP3.0,在执行“Quick Start Guide”时,我遇到了一个让我卡住的步骤。

标记为数据库配置的部分让我创建了一些 MySQL 表(我从站点复制粘贴)然后 运行 命令:bin/cake bake all bookmarksbin/cake bake all users、和 bin/cake bake all tags.

运行执行这三个命令后,生成了几个文件;与我刚刚创建的表关联的模型和控制器。但是,尚未创建视图...顺便说一句,我正在使用 Ubuntu 12.04

按照教程的建议,我检查了 apache2/mods-enabled 目录中的 rewrite.load,它就在那里。

还有其他人遇到过这个问题吗? 很可能我犯了一个简单的错误

这是我第一次运行bin/cake bake all bookmarks时的输出:

正如教程所建议的,如果我收到 404 页面未找到错误,我应该确保为 apache2 启用了 mod_rewrite,我还注意到它说使用 http://localhost:8765/bookmarks 因为我的 web服务器配置在端口 80 我一直忽略教程建议的端口号。

这是我的 apache2/mods_enabled/ 的屏幕截图:(存在 rewrite.load)

最后,这是我在/config/App.php中配置的数据源:

问题开始出现在我的 Apache 配置和 rewrite 规则上。我会进一步调查。

事实证明,我最初对 CakePHP3 应该创建什么感到困惑,现在意识到它是 运行 所期望的(请参阅上面的输出问题)。设置了正确的 DocumentRoot,如果 rewrite 设置不正确,导航到您的页面可能会开始下载您要查看的文件。

真正的问题出在我的 Apache 配置上。这些是我配置 Apache 2.4 所遵循的步骤(在重新安装 Apache 之后):


  1. /etc/apache2/sites-available/000-default.conf/etc/apache2/sites-enabled/000-default.conf

  2. 中添加新的DocumentRoot
  3. 启用mod_rewrite:a2enmod rewrite

  4. 重新启动 Apache:service apache2 restart


启用 rewrite 后,您的 /etc/apache2/mods-enabled/ 可能如下所示(注意重写突出显示): 问题已解决。感谢 this post!

@user1843159 - 感谢您指出 Apache 配置的方向。