Codeigniter 4 中的调试工具栏不起作用
Debug Toolbar in Codeigniter 4 not working
我安装了 Codeigniter 4.0.2 并进行了以下更改:
1- CI_ENVIRONMENT = development
在 .env 文件中
2- SetEnv CI_ENVIRONMENT development
public 文件夹中的 .htaccess
3- 在 public 文件夹 index.php 的主要 index.php 文件中添加了 $useKint = true;
当我在本地主机上打开时,呈现欢迎页面但不呈现调试工具栏。我错过了什么吗?
调试工具栏将位于右下角,带有codigniter 代码徽标
- 单击以打开调试栏。
点击图标即可看到这样的调试栏。
这里有一些您可以在全新安装的 CI4 中检查的内容:
- 您的环境确实在开发中(您可以在欢迎页面的页脚中查看)。如果没有,请务必在 .env 中设置 CI_ENVIRONMENT = development。请注意,因为新的 CI4 没有附带 .env 文件,而是带有 env 文件。一定要重命名。
确保你的 app/Config/Boot/development 中有 defined('CI_DEBUG') || define('CI_DEBUG', 1);
。php 文件
尝试使用命令行启动您的应用程序 php spark serve
这样您就可以获取有关您的应用程序访问工具栏的一些信息。
确保在 app/Config/Filters.php 中有一个名为 $globals
的变量,'toolbar' 作为 'after' 的值键和 'toolbar' 与工具栏 class 正确映射到 $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'
],
];
可以作为一些起点,希望对您有所帮助。
今天,我在第一次尝试使用 CI4(使用 XAMPP)时遇到了同样的问题...
我对 CI4 框架所做的唯一更改是将 env 文件重命名为 .env 然后我在 .env 文件中设置 CI_ENVIRONMENT = development
我找到了 2 个解决方案:
使用"php spark serve"命令启动我的项目而不是XAMPP
将 app\Config\App.php 中的 $baseURL 指向我项目的 public 文件夹
希望对您有所帮助!
最好的问候
如果您不使用 PHP 的内置服务器
,请正确设置基础 url
app/config/App.php
public $baseURL = 'http://localhost/path_to_CI/public';
这为我修复了它:
- 将 env 文件重命名为 .env 并打开它
- 取消注释行
# CI_ENVIRONMENT = production
并将值更改为 development
- 将
app.baseURL
值更改为您应用程序的基础值 URL(这似乎是您错过的步骤)
您需要 "php spark serve" 如文档所述,因为 debugbar 在 spark set on 中查找 localhost:8080。
确保使用 HTTP 协议而不是 HTTPS。
在 .env
文件上检查 app.baseURL = 'http://localhost/'
不是 app.baseURL = 'https://localhost'
.
然后,在浏览器上使用 http://
而不是 https://
访问它。
我也遇到这个问题3天了。
今天我通过 make /writable/debugbar/ to 777 (just for development)
解决了这个问题
chmod -R 777 [yourappname]/writable/debugbar/
希望这能为您和大家提供解决方案
就我而言,问题出在 app.baseURL
我确实放了
我的项目是 compbase
-- app.baseURL = 'http://compbase'
我把它改成了
-- app.baseURL = 'http://compbase.test'
当您使用 laragon 时
在你的 env 文件中必须修改 baseurl 与 public 文件夹
app.baseURL = '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,
];
无需按照 Document
执行任何其他操作
在 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/'
我安装了 Codeigniter 4.0.2 并进行了以下更改:
1- CI_ENVIRONMENT = development
在 .env 文件中
2- SetEnv CI_ENVIRONMENT development
public 文件夹中的 .htaccess
3- 在 public 文件夹 index.php 的主要 index.php 文件中添加了 $useKint = true;
当我在本地主机上打开时,呈现欢迎页面但不呈现调试工具栏。我错过了什么吗?
调试工具栏将位于右下角,带有codigniter 代码徽标
- 单击以打开调试栏。
点击图标即可看到这样的调试栏。
这里有一些您可以在全新安装的 CI4 中检查的内容:
- 您的环境确实在开发中(您可以在欢迎页面的页脚中查看)。如果没有,请务必在 .env 中设置 CI_ENVIRONMENT = development。请注意,因为新的 CI4 没有附带 .env 文件,而是带有 env 文件。一定要重命名。
确保你的 app/Config/Boot/development 中有
defined('CI_DEBUG') || define('CI_DEBUG', 1);
。php 文件尝试使用命令行启动您的应用程序
php spark serve
这样您就可以获取有关您的应用程序访问工具栏的一些信息。
确保在 app/Config/Filters.php 中有一个名为
$globals
的变量,'toolbar' 作为 'after' 的值键和 'toolbar' 与工具栏 class 正确映射到$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' ], ];
可以作为一些起点,希望对您有所帮助。
今天,我在第一次尝试使用 CI4(使用 XAMPP)时遇到了同样的问题... 我对 CI4 框架所做的唯一更改是将 env 文件重命名为 .env 然后我在 .env 文件中设置 CI_ENVIRONMENT = development
我找到了 2 个解决方案:
使用"php spark serve"命令启动我的项目而不是XAMPP
将 app\Config\App.php 中的 $baseURL 指向我项目的 public 文件夹
希望对您有所帮助! 最好的问候
如果您不使用 PHP 的内置服务器
,请正确设置基础 urlapp/config/App.php
public $baseURL = 'http://localhost/path_to_CI/public';
这为我修复了它:
- 将 env 文件重命名为 .env 并打开它
- 取消注释行
# CI_ENVIRONMENT = production
并将值更改为development
- 将
app.baseURL
值更改为您应用程序的基础值 URL(这似乎是您错过的步骤)
您需要 "php spark serve" 如文档所述,因为 debugbar 在 spark set on 中查找 localhost:8080。
确保使用 HTTP 协议而不是 HTTPS。
在 .env
文件上检查 app.baseURL = 'http://localhost/'
不是 app.baseURL = 'https://localhost'
.
然后,在浏览器上使用 http://
而不是 https://
访问它。
我也遇到这个问题3天了。 今天我通过 make /writable/debugbar/ to 777 (just for development)
解决了这个问题chmod -R 777 [yourappname]/writable/debugbar/
希望这能为您和大家提供解决方案
就我而言,问题出在 app.baseURL 我确实放了 我的项目是 compbase
-- app.baseURL = 'http://compbase'
我把它改成了
-- app.baseURL = 'http://compbase.test'
当您使用 laragon 时
在你的 env 文件中必须修改 baseurl 与 public 文件夹
app.baseURL = '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,
];
无需按照 Document
执行任何其他操作在 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/'