我在使用findbyid为我的共享主机上的页面获取唯一网址时遇到此问题。我遇到的问题是,在尝试通过共享主机上的项目的Id号访问唯一页面时,我一直收到以下错误(我在localhost上没有这个问题):
Error: The action item is not defined in controller ProductsController
Error: Create ProductsController::item() in file: app/Controller/ProductsController.php.
但是item在productscontroller中定义:
public function item($id = null) {
if (!$id) {
throw new NotFoundException(__('product not found'));
}
$items = $this->Product->findById($id);
if (!$items) {
throw new NotFoundException(__('Invalid post'));
}
$this->set('item', $items);
}
您可以在此网址查看问题:http://entourmag.com/hava/products/item/39
它通过wamp在localhost上工作,所以我不确定是什么问题。
提前致谢
答案 0 :(得分:0)
好吧我弄明白了这个问题。问题出在上传的文件中;上传的文件不完整或丢失,当我检查ProductsController.php文件时,我意识到大部分代码都丢失了。重新上传解决了这个问题。
对于网络连接有问题的其他人,请在编码时注意这一点。
答案 1 :(得分:0)
错误:使用" Mysql"的数据库连接丢失或无法连接。
数据库服务器返回此错误:SQLSTATE [HY000] [1045]访问被拒绝用户&root;' @' localhost' (使用密码:否)
注意:如果要自定义此错误消息,请创建app / View / Errors / missing_connection.ctp
我认为你还没有在app / Config中创建/配置你的database.php
答案 2 :(得分:0)
我正在使用cakephp 3.8,并且找出了导致这种消息的一种可能原因。
就我而言,我期望__construct
方法负责创建基类。
解决方案是使用initialize
方法,如下所示:
function initialize() {
parent::initialize();
}
最后,我们应该更仔细地阅读文档,其中明确说明了here,请花点时间做20 min cms tutorial