[英]Debug Toolbar in Codeigniter 4 not working
我安装了 Codeigniter 4.0.2 并做了以下更改:
1- CI_ENVIRONMENT = development
in.env 文件
2- 公共文件夹中 .htaccess 中的SetEnv CI_ENVIRONMENT development
3- 增加$useKint = true;
在主索引中。公共文件夹中的 php 文件
当我在 localhost 打开时,会呈现欢迎页面,但不会呈现调试工具栏。 我错过了什么吗?
这为我修复了它:
# CI_ENVIRONMENT = production
并更改为development
的值app.baseURL
值更改为您应用的基本 URL(这似乎是您错过的步骤)我也遇到了这个问题3天。 今天我通过将 /writable/debugbar/ 设置为 777 来解决这个问题(仅用于开发)
chmod -R 777 [yourappname]/writable/debugbar/
希望这可以为您和每个人提供解决方案
以下是您可以通过全新 CI4 安装检查的一些内容:
确保您已defined('CI_DEBUG') || define('CI_DEBUG', 1);
defined('CI_DEBUG') || define('CI_DEBUG', 1);
在您的app/Config/Boot/development.php文件中
尝试使用命令行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' ], ];
它可以是一些起点,希望这会有所帮助。
如果您不使用 PHP 的内置服务器,请正确设置基本 url
应用程序/配置/App.php
public $baseURL = 'http://localhost/path_to_CI/public';
正如文档所说,您需要“php spark serve”,因为调试栏会在 spark 设置中查找 localhost:8080。
在您的 env 文件中必须使用公共文件夹修改 baseurl
app.baseURL = 'http://localhost/your-app/public'
今天我在第一次尝试使用 CI4(使用 XAMPP)时遇到了同样的问题......我对 CI4 框架所做的唯一更改是将 env 文件重命名为 .env 然后我设置 CI_ENVIRONMENT = .env 文件中的开发
我找到了 2 个解决方案:
使用“php spark serve”命令来启动我的项目而不是 XAMPP
将 app\Config\App.php 中的 $baseURL 指向我项目的公共文件夹
希望这可以帮助! 此致
确保使用 HTTP 协议而不是 HTTP S 。
在.env
文件上检查app.baseURL = 'http://localhost/'
而不是app.baseURL = 'https://localhost'
。
然后,在浏览器上使用http://
而不是https://
访问它。
就我而言,问题出在 app.baseURL 中,我确实将我的项目放在了 compbase 的位置
-- app.baseURL = 'http://compbase'
我把它改成了
-- app.baseURL = 'http://compbase.test'
当你使用 laragon
只需将以下行添加到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,
];
无需按照文档执行任何其他操作
在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,
];
我在安装 ci 4.1.5 时遇到了同样的问题,并通过这种方式解决了:
使用户 .env 文件存在于项目根文件夹中。
将env to .env
或在项目根文件夹中创建.env
。
在.env
文件中设置开发环境
CI_ENVIRONMENT=development
在.env
文件中设置基本 url
app.baseURL = 'http://localhost/project-root/public/'
我有同样的问题当我将目录“可写/调试栏”更改为 777(可写)时它解决了
如果正确,CodeIgniter Debut 图标将显示在右下角。
它在 CI 4.2.6 和一个经过大量修改的文件夹结构中运行良好, writable
文件夹设置为 775,也在公共地址上(因此不需要 spark 服务)。 我的问题是$baseURL
指向的地址是http://
而不是https://
的错字,所以 Chrome 检查员帮我找到了它。
在 App.php 中更改它,它就像一个魅力。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.