【问题标题】:Debug Toolbar in Codeigniter 4 not workingCodeigniter 4中的调试工具栏不起作用
【发布时间】:2020-07-05 00:22:57
【问题描述】:

我安装了 Codeigniter 4.0.2 并进行了以下更改:

1- CI_ENVIRONMENT = development 在 .env 文件中

2- SetEnv CI_ENVIRONMENT development in .htaccess in public 文件夹

3- 在公共文件夹的主 index.php 文件中添加了$useKint = true;

当我在 localhost 打开时,会呈现欢迎页面,但不会呈现调试工具栏。我错过了什么吗?

【问题讨论】:

  • 是的,您可能错过了安装 Kint 及其朋友的步骤...您的安装可能没有供应商文件夹,因此您需要运行“composer install”。

标签: php debugging codeigniter-4 kint


【解决方案1】:

我在安装 ci 4.1.5 时遇到了同样的问题,并通过这种方式解决了:

使用户 .env 文件存在于项目根文件夹中。

重命名env to .env 或在项目根文件夹中创建.env

.env文件中设置开发环境

CI_ENVIRONMENT=development

.env 文件中设置基本网址

app.baseURL = 'http://localhost/project-root/public/'

【讨论】:

    【解决方案2】:

    通过App\Config\Filtes.php检查您的代码。

    使用这行代码:

    public $aliases = [
            'csrf'     => CSRF::class,
            'toolbar'  => DebugToolbar::class,
            'honeypot' => Honeypot::class,
        ];
    

    而不是这个:

    public $aliases = [
          'csrf'     => CodeIgniter\Filters\CSRF::class,
          'toolbar'  => CodeIgniter\Filters\DebugToolbar::class,
          'honeypot' => CodeIgniter\Filters\Honeypot::class,
        ];
    

    【讨论】:

      【解决方案3】:

      只需将以下几行添加到app/config/filters.php,它的工作就像一个魅力

      public $collectors = [
          \CodeIgniter\Debug\Toolbar\Collectors\Timers::class,
          \CodeIgniter\Debug\Toolbar\Collectors\Database::class,
          \CodeIgniter\Debug\Toolbar\Collectors\Logs::class,
          \CodeIgniter\Debug\Toolbar\Collectors\Views::class,
           \CodeIgniter\Debug\Toolbar\Collectors\Cache::class,
          \CodeIgniter\Debug\Toolbar\Collectors\Files::class,
          \CodeIgniter\Debug\Toolbar\Collectors\Routes::class,
          \CodeIgniter\Debug\Toolbar\Collectors\Events::class,
      ];
      

      不需要按照Document做任何其他事情

      【讨论】:

        【解决方案4】:

        在您的 env 文件中必须使用公共文件夹修改 baseurl
        app.baseURL = 'http://localhost/your-app/public'

        【讨论】:

          【解决方案5】:

          就我而言,问题出在 app.baseURL 我确实放了 我的项目是compbase

          -- app.baseURL = 'http://compbase'
          

          我把它改成了

          -- app.baseURL = 'http://compbase.test'
          

          当你使用 laragon 时

          【讨论】:

            【解决方案6】:

            我也遇到了这个问题 3 天。 今天我通过 make /writable/debugbar/ 到 777 来解决这个问题(仅用于开发)

            chmod -R 777 [yourappname]/writable/debugbar/

            希望这能给你和每个人提供解决方案

            【讨论】:

              【解决方案7】:

              确保使用 HTTP 协议而不是 HTTPS

              .env 文件上检查app.baseURL = 'http://localhost/'
              不是 app.baseURL = 'https://localhost'

              然后,在浏览器上使用http:// 而不是https:// 访问它。

              【讨论】:

                【解决方案8】:

                您需要像文档中所说的那样“php spark serve”,因为调试栏会在 spark 设置中查找 localhost:8080。

                【讨论】:

                  【解决方案9】:

                  这为我解决了问题:

                  1. 将 env 文件重命名为 .env 并打开
                  2. 取消注释行# CI_ENVIRONMENT = production并将值更改为development
                  3. app.baseURL 值更改为您应用的基本 URL(这似乎是您错过的步骤)

                  【讨论】:

                  • 这似乎对我有用。由于某种原因,我将基本 URL 设置错了
                  • 有什么方法可以让我只对某个角色进行调试?
                  【解决方案10】:

                  如果你不使用 PHP 的内置服务器,请正确设置基本 url

                  app/config/App.php

                  public $baseURL = 'http://localhost/path_to_CI/public';
                  

                  【讨论】:

                    【解决方案11】:

                    今天我在第一次尝试使用 CI4(使用 XAMPP)时遇到了同样的问题...... 我对 CI4 框架所做的唯一更改是将 env 文件重命名为 .env,然后在 .env 文件中设置 CI_ENVIRONMENT = development

                    我找到了 2 个解决方案:

                    • 使用“php spark serve”命令而不是 XAMPP 来启动我的项目

                    • 将 app\Config\App.php 中的 $baseURL 指向我项目的公共文件夹

                    希望这会有所帮助! 最好的问候

                    【讨论】:

                      【解决方案12】:

                      您可以通过全新的 CI4 安装检查以下内容:

                      • 您的环境确实在开发中(您可以在欢迎页面的页脚查看它)。如果没有,请务必在 .env 中设置 CI_ENVIRONMENT = development。请注意,因为新的 CI4 不附带 .env 文件,而是带有 env 文件。请务必重命名。

                      • 确保您的 app/Config/Boot/development.php 文件中有 defined('CI_DEBUG') || define('CI_DEBUG', 1);

                      • 尝试使用命令行php spark serve 启动您的应用,这样您就可以获取有关您的应用访问工具栏的一些信息。

                      • 确保在 app/Config/Filters.php 中有一个名为 $globals 的变量,其中 'toolbar' 作为 'after' 键的值,并且 'toolbar' 与工具栏类正确映射到 $aliases

                        
                            public $aliases = [
                                    'csrf'     => \CodeIgniter\Filters\CSRF::class,
                                    'toolbar'  => \CodeIgniter\Filters\DebugToolbar::class,
                                    'honeypot' => \CodeIgniter\Filters\Honeypot::class
                                ];
                        
                        
                        
                            public $globals = [
                                    'before' => [
                                        //'honeypot'
                                        // 'csrf',
                                    ],
                                    'after'  => [
                                        'toolbar',
                                        //'honeypot'
                                    ],
                                ];
                        
                        

                      这可以是一些起点,希望这会有所帮助。

                      【讨论】:

                        【解决方案13】:

                        调试工具栏将位于 右下角,并带有 codigniter 代码徽标

                        1. 单击以打开调试栏。

                        点击图标就可以看到像这样的调试栏。

                        【讨论】:

                        • 我知道根据文档它应该在那里,但我没有得到任何栏或徽标:(
                        • 我的配置与此处发布的完全相同。它工作正常。查看 writable/debugbar/debugbar_*.json 文件。检查是否有任何调试日志写入其中。
                        猜你喜欢
                        • 1970-01-01
                        • 2022-07-30
                        • 2022-09-29
                        • 1970-01-01
                        • 1970-01-01
                        • 2014-12-25
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多