Php Codeigniter 4中的调试工具栏不工作

Php Codeigniter 4中的调试工具栏不工作,php,debugging,codeigniter-4,kint,Php,Debugging,Codeigniter 4,Kint,我安装了Codeigniter 4.0.2,并做了以下更改: 1-CI_ENVIRONMENT=developmentin.env文件 2-SetEnv CI_ENVIRONMENT developmentin.htaccess in public folder 3-添加$useKint=true位于公用文件夹的main index.php文件中 当我在localhost上打开时,会呈现欢迎页面,但不会呈现调试工具栏。我遗漏了什么吗 调试工具栏将位于右下角的cornor中,带有一个codigni

我安装了Codeigniter 4.0.2,并做了以下更改:

1-
CI_ENVIRONMENT=development
in.env文件

2-
SetEnv CI_ENVIRONMENT development
in.htaccess in public folder

3-添加
$useKint=true位于公用文件夹的main index.php文件中


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

调试工具栏将位于右下角的cornor中,带有一个codigniter代码徽标

  • 单击该按钮以打开调试栏
  • 单击图标,您将能够看到如下调试栏。

    以下是一些您可以通过新安装的CI4检查的资料:

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

    • 确保您已经定义了
      ('CI_DEBUG')| | define('CI_DEBUG',1)

    • 尝试使用命令行
      php spark-service
      启动你的应用程序,这样你就可以获取一些关于你的应用程序访问工具栏的信息

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

      
      公共$alias=[
      'csrf'=>\CodeIgniter\Filters\csrf::class,
      'toolbar'=>\CodeIgniter\Filters\DebugToolbar::class,
      “蜜罐”=>\CodeIgniter\Filters\honeypot::class
      ];
      
      
      公共$globals=[
      '之前'=>[
      //“蜜罐”
      //“csrf”,
      ],
      '在'=>[
      “工具栏”,
      //“蜜罐”
      ],
      ];
      

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

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

    我找到了两种解决方案:

    • 使用“phpsarkserve”命令来启动我的项目,而不是XAMPP

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

    希望这有帮助!
    致以最诚挚的问候

    如果您没有使用PHP的内置服务器,请正确设置基本url

    app/config/app.php

    public $baseURL = 'http://localhost/path_to_CI/public';
    
    这为我解决了这个问题:

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

  • 您需要像文档中所说的那样使用“PHPSARK serve”,因为debugbar在spark set-on中查找localhost:8080

    确保使用HTTP协议,而不是HTTPS

    .env
    文件中,检查
    app.baseURL=http://localhost/“

    而不是https://localhost“


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

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

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


    希望这能为您和所有人提供解决方案

    在我的例子中,问题出在app.baseURL中 我确实把 我的项目在哪里

    -- app.baseURL = 'http://compbase'
    
    我把它改成了

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

    当您在env文件中使用laragon时,必须使用公用文件夹修改baseurl

    app.baseURL='1〕http://localhost/your-app/public“

    只要在
    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,
    ];
    

    不需要按照

    做任何其他事情,我知道根据文档,它应该在那里,但我没有得到任何酒吧或标志:(我的extact配置与这里发布的相同。它工作正常。请查看可写的/debugbar/debugbar.*.json文件。检查其中是否有任何调试日志。是的,您可能错过了安装Kint及其朋友的步骤……您的安装可能没有供应商文件夹,因此您需要运行“composer install”。这似乎对我有效。出于某种原因,我将基本URL设置错误