【问题标题】:Beginner: cakephp 3.6 installing cakedc/users初学者:cakephp 3.6 安装 cakedc/users
【发布时间】:2018-11-29 20:09:33
【问题描述】:

我正在尝试在新设置的应用程序上设置 CakeDC/用户。 我已更改 app.php 配置文件以指向正确的数据库(有效) 从 CMD 我做了以下事情:

cd c:\xampp\htdocs

php composer.phar create-project --prefer-dist cakephp/app MyAppName

cd c:\xampp\htdocs\MyAppName

php composer.phar require cakedc/users

然后在bootstrap.php中:

Configure::write('Users.config', ['users']);
Plugin::load('CakeDC/Users', ['routes' => true, 'bootstrap' => true]);

(我没有使用任何社交媒体)

然后在 AppcController.php 中

public function initialize()
    {
        parent::initialize();

        $this->loadComponent('RequestHandler', ['enableBeforeRedirect' => false]);
        $this->loadComponent('Flash');                
        $this->loadComponent('CakeDC/Users.UsersAuth');

    }

最后,当我运行应用程序(使用 XAMPP 和 Apache)时,出现错误,似乎是说 cakephp 找不到插件控制器文件,因为它在错误的位置:

Could not load configuration file: C:\xampp\htdocs\MyAppName\config\users.php
Cake\Core\Exception\Exception
Documentation API
If you want to customize this error message, create src\Template\Error\error500.ctp

toggle vendor stack frames
⟩ Cake\Core\Configure\Engine\PhpConfig->_getFilePath
CORE\src\Core\Configure\Engine\PhpConfig.php, line 86
⟩ Cake\Core\Configure\Engine\PhpConfig->read
CORE\src\Core\Configure.php, line 324
⟩ Cake\Core\Configure::load
ROOT\vendor\cakedc\users\config\bootstrap.php, line 22
⟩ Cake\Core\Plugin::{closure}
CORE\src\Collection\CollectionTrait.php, line 51
⟩ Cake\Collection\Collection->each
ROOT\vendor\cakedc\users\config\bootstrap.php, line 23
⟩ include
CORE\src\Core\Plugin.php, line 418
⟩ Cake\Core\Plugin::_includeFile
CORE\src\Core\Plugin.php, line 327
⟩ Cake\Core\Plugin::bootstrap
CORE\src\Core\Plugin.php, line 183
⟩ Cake\Core\Plugin::load
ROOT\config\bootstrap.php, line 211
⟩ require_once
CORE\src\Http\BaseApplication.php, line 145
⟩ Cake\Http\BaseApplication->bootstrap
APP/Application.php, line 37
⟩ App\Application->bootstrap
CORE\src\Http\Server.php, line 121
⟩ Cake\Http\Server->bootstrap
CORE\src\Http\Server.php, line 82
⟩ Cake\Http\Server->run
ROOT\webroot\index.php, line 40

好像是说在app/config文件夹下找不到users.php,其实是因为在插件的config文件夹下。

有没有人遇到过这个问题,并且可以提出我做错了什么。我确信这很简单,而且很愚蠢(就我而言)。

谢谢

【问题讨论】:

    标签: php cakephp cakedc


    【解决方案1】:

    删除此行 Configure::write('Users.config', ['users']); 或添加您自己的 users.php 配置并在需要时进行覆盖。

    在此处查看相关文档条目https://github.com/CakeDC/users/blob/master/Docs/Documentation/Installation.md#customization

    【讨论】:

    • 嗨,Steinkel,我确实尝试过不使用该行,但仍然有同样的错误。我刚刚删除了它,它仍然无法正常工作。不知道你所说的关于添加我自己的 users.php 配置的第二点是什么意思......在某处有一个例子吗?
    • 上面链接的文档的配置页面上有一个示例。他们的代码中有一个更完整的示例(特别是所有默认值)。
    • 对 Greg 和 Steinkel 感到抱歉。我已经浏览了在 CakeDC/users 上可以找到的所有文件——但我尝试的一切都失败了。我是使用 3.x 的新手,我认为 CakeDC/Users 提供的功能会很棒.. 但我也认为设置插件(在供应商文件夹中)会很简单。我的理解是,插件的所有文件都保存在供应商文件夹中的适当文件夹中(在本例中为 cakedc/users),并且 cakephp 会将它们与我的应用程序的其余部分“加入”。所以我的主应用程序中没有任何用户文件 - 没有模板、控制器、模型。
    【解决方案2】:

    作为例子你可以复制原始的user.php

    cp -i vendor/cakedc/users/config/users.php config/
    

    在我的 bootstrap.php 中有这个

    Configure::write('Users.config', ['users']);
    Plugin::load('CakeDC/Users', ['routes' => true, 'bootstrap' => true]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-05
      • 1970-01-01
      • 1970-01-01
      • 2014-04-03
      • 2013-07-14
      • 1970-01-01
      • 1970-01-01
      • 2017-09-26
      相关资源
      最近更新 更多