22

哎呀!我们似乎遇到了障碍。请稍后再试。

Codeigniter 4 在我运行 CI4 应用程序时显示错误,我该如何解决?

变化:

public $baseURL = 'http://ci.local';


public $baseURL = 'http://localhost:8080';
public $indexPage = '';
4

14 回答 14

27

这项工作对我来说试试吧 转到 app 目录,然后进入启动目录,您将看到 production.php 文件。

那是: app => Config => Boot => production.php

将 更改ini_set('display_errors', '0')ini_set('display_errors', '1')

警告:在生产中更改回初始状态时ini_set('display_errors', '0')

或者

您可以将env项目目录中的文件重命名为.env ,然后打开并编辑。搜索# CI_ENVIRONMENT = production 删除#并更改productiondevelopment

警告:在生产中更改回初始CI_ENVIRONMENT = developmentCI_ENVIRONMENT = production

对于那些遇到 intl 错误的人,请转到您的 php 安装目录编辑 php.ini 文件的位置,semi-colon ";"从中删除。保存文件并重新启动服务器。我认为这将解决该错误。我的 php.ini 的这个特殊编辑是在 php 7.2 - 8.1 上,所以我没有检查比 Codeigniter 4 不支持的这些版本更小的 php 版本;extension=intlextension=intl

于 2019-10-16T09:09:55.003 回答
13

假设您的 CI4 项目的根文件夹是rootproject. 编辑rootproject/.env文件。在第 17 行更改为:

#  CI_ENVIRONMENT = production

至:

CI_ENVIRONMENT = development

保存。

刷新指向 CI4 项目的浏览器。它应该给你很多错误信息。

如果有东西写成CacheException,那么你的缓存文件夹是不可写的。使其可写;

Ubuntu:

chown -Rv www-data rootproject/writable

中央操作系统:

chown -Rv apache rootproject/writable

简单的方法:

chmod 777 -Rv rootproject/writable
于 2020-03-05T10:11:52.050 回答
13

在运行应用程序时安装 CodeIgniter 4 后,您将收到类似这样的错误

在此处输入图像描述

要了解错误,请转到app/Config/Boot/production.php并将 display_errors 设置为 1,如下所示

ini_set('display_errors', '1');

现在,您将在下面看到实际错误

在此处输入图像描述

没什么好担心的。该应用程序需要许可。如下分配权限

sudo chmod -R 777 项目名称

于 2020-11-05T09:47:56.770 回答
6

在您的 CI4 项目根目录中,创建一个名为.env. 它应该与系统、应用程序等在同一目录中

然后,添加这个CI_ENVIRONMENT = development

于 2019-11-11T18:33:34.187 回答
5

问题很可能是由于缺少扩展。在此处检查服务器要求。. 检查您的 php.ini 文件并确保已启用intlmbstring 。

于 2021-04-06T07:23:56.050 回答
3
  1. 在根文件夹更改:env.env

  2. 更改# CI_ENVIRONMENT = productionCI_ENVIRONMENT = development(确保未注释)

  3. 您的错误可能与knit.php文件有关。
    转到系统/第三方并将:knit.php更改为Knit.php(大写)

  4. 重新加载。

于 2020-04-18T02:37:24.743 回答
2

您在生产环境中运行,需要将其更改为开发或测试环境才能在浏览器中查看错误消息。

有几种方法可以做到这一点,但添加:

SetEnv CI_ENVIRONMENT development

Apache httpd.config 文件对我有用。

_t

于 2019-09-17T01:32:38.047 回答
2

我得到了这个查询的答案;只需按照以下步骤操作:

  1. 从命令行,在你的项目根目录中点击这个 php spark serve

  2. 然后在浏览器上点击http://localhost:8080/

享受您的最新 CI。

于 2020-01-25T12:45:34.980 回答
2

我有同样的问题,我有一个简单的 Mac 解决方案。- 在项目文件夹中,转到“可写” - 选择包含的所有文件夹并单击“获取信息” - 转到共享和权限 - 在“每个人”中选择“读写”就是这样!刷新页面

于 2020-02-28T05:53:29.977 回答
2

对于在 MacOS 中使用 XAMPP 的用户:

您不需要更改可写目录的所有权。您只需要更改整个目录的权限:

chmod -R 777 writable
于 2020-05-26T16:46:54.063 回答
1

不确定所需的答案是什么,但是:

  1. 如果您要查看实际错误是什么 - 将您的环境更改为测试/开发(如目前所建议的那样),或者您可以检查您的日志 - writable/logs/log-.php
  2. 如果您希望解决错误,我们将需要更多信息,例如您是否设置了虚拟主机,是否更改了公共文件夹中的 .htaccess 文件等。否则我们很可能会下注(我打赌它是虚拟主机)。

在任何情况下,显示的错误(更改环境后)或日志文件的副本都会很有用。

于 2019-11-05T14:44:14.067 回答
1

尝试这个

  1. 打开 [xampp]/php/php.ini

    搜索;extension=intl并删除;

  2. 保存 php.ini 文件并重新启动 Apache(服务器)。

于 2022-01-05T07:21:41.163 回答
0

当您将 # CI_ENVIRONMENT = production 更改为 CI_ENVIRONMENT = development 时,不要忘记将 env 文件重命名为 .env ,否则它将不起作用。

于 2021-03-19T23:24:42.140 回答
0

您可以检查可写日志文件/日志查找错误信息,如果您的日志信息如下:

CRITICAL - 2020-04-19 17:44:55 --> Invalid file: template/header.php
#0 F:\xampp\htdocs\ppdb\vendor\codeigniter4\framework\system\View\View.php(224): CodeIgniter\Exceptions\FrameworkException::forInvalidFile('template/header...')

去修复你的错误,在我的情况下,我在控制器文件上输入了错误的名称

于 2020-04-19T22:54:23.163 回答