【问题标题】:CakePHP 3 Apache does not find ViewsCakePHP 3 Apache 找不到视图
【发布时间】:2015-08-18 00:19:46
【问题描述】:

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

标记为 DATABASE CONFIGURATION 的部分让我创建了一些 MySQL 表(我从站点复制粘贴),然后运行命令:bin/cake bake all bookmarksbin/cake bake all usersbin/cake bake all tags

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

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

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

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

按照教程的建议,如果我收到 404 page not found 错误,我应该确保为 apache2 启用了 mod_rewrite,我还注意到它说要使用 http://localhost:8765/bookmarks,因为我的 Web 服务器配置在端口 80我一直忽略教程建议的端口号。

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

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

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

【问题讨论】:

  • 您确定没有混淆视图和视图模板吗?
  • @ndm 该教程说使用这些命令后我应该能够访问 localhost/bookmarks ,但是我得到了 404
  • 嗯,这不是问题所在。无论如何,“我得到一个 404”并不是一个非常详细的问题描述。请求真的命中了应用程序吗?究竟展示了什么?日志说什么?回到几步,运行上述命令时 CLI 会显示什么?
  • the Views have not been created - 模板文件在烘焙输出中。您提供了很多细节,但与您的实际问题无关。
  • 请检查 /homeSite/src/Template/ 中子文件夹的内容 - 应该有一些 *.ctp 文件。这些是 Cake Bake 生成的视图文件。要获取有关 404 的更多信息,请检查 Cake 安装的 tmp 日志文件夹中的错误日志文件。如果日志文件中没有条目,则问题可能在 CakePHP 之外,您的服务器配置...如果您在 CakePHP 错误日志文件中有条目,您应该在 core.php 配置文件中启用调试模式并尝试访问再次打开页面,应该会在您的浏览器中显示详细的错误消息...

标签: php cakephp frameworks apache2.4


【解决方案1】:

原来我最初对 CakePHP3 应该创建的内容感到困惑,现在我意识到它正在按预期运行(有关输出,请参见上面的问题)。一个正确的DocumentRoot 已设置,如果rewrite 未正确设置,则导航到您的页面可能会开始下载您要查看的文件。

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


  1. /etc/apache2/sites-available/000-default.conf/etc/apache2/sites-enabled/000-default.conf 中添加新的DocumentRoot

  2. 启用 mod_rewrite:a2enmod rewrite

  3. 重启 Apache:service apache2 restart


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

@user1843159 - 感谢您为我指明 Apache 配置的方向。

【讨论】:

    猜你喜欢
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    • 2013-06-29
    • 2011-08-03
    • 2015-11-11
    • 2017-07-23
    相关资源
    最近更新 更多