CakePHP 4.5 / RHEL 9 版本

CakePHP 4.5 / RHEL 9

提问人:Corvo 提问时间:11/13/2023 更新时间:11/14/2023 访问量:30

问:

我已经在 Linux 环境中安装了 cakephp 4.5(到目前为止没有问题)。应用程序工作正常。当我在浏览器上启动项目时,我得到了显示 cakephp 状态的视图(PagesController.php)。

问题如下: 当我创建另一个控制器并更改路由(以查看我是否已到达我的控制器)时,它没有加载,并且我收到“无法打开流”错误(并非一直如此)。

我已经将权限设置为rootapache777,但它不起作用。唯一有效的操作如下:

  • 我将安装 cakephp 时已经存在的文件(在我的情况下是 PagesController.php)移动到另一个目录。
  • 我将PagesController.php复制到PagesController2.php
  • 我将 PagesController2.php 移动到其原始目录,将其重命名为 PagesController.php。该应用程序仍然有效。
  • 然后,我使用原始的 PagesController.php 文件,并将其再次复制为 PagesController2.php
  • 我将 PagesController2.php 移动到 Controller 目录,例如将其重命名为 CityController.php。我修改了我的路线:$builder->connect('/', ['controller' => 'City', 'action' => 'index', 'home']);

我可以访问我的页面。

问题出在我导入到项目中的所有文件(css、js、img)上。该应用程序已在本地开发。

如果有人有任何想法...谢谢。

我看了很多教程,但没有解决我的问题。我已准备好尝试任何解决方案。

redhat php-8.2 rhel9

评论

0赞 Greg Schmidt 11/14/2023
“change the route” 是什么意思?您无需对路由进行任何编辑即可实现正常功能。例如,如果你有一个带有索引函数的 CityController(应为“CitiesController”,以便最大限度地方便使用 Cake 标准),你应该能够访问并让它工作。yoursite.com/city
0赞 Lewis E. 11/23/2023
听起来控制器与您的城市模板文件夹不相关,这是必需的,并且根据您的路由路径,如果您只是复制、粘贴和重命名文件,则必须存在“索引”操作,控制器中的“索引”功能不存在,只有“显示”功能。“home”字符串是一个传递参数,只是在这一点上恰好是基于 Pages/City Controllers 下的 “display” 函数的模板视图。我相信将函数重命名为索引可以解决这个问题。

答: 暂无答案