哎呀!我们好像遇到了一些问题。请稍后再试。

32

哎呀! 我们好像遇到了问题。请稍后再试。

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

更改:

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


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

除了$basURL,你还改了什么吗? - PHP Ninja
我知道这是过时的文章,但也许可以帮助您。https://github.com/codeigniter4/CodeIgniter4/issues/581 - PHP Ninja
这帮助了我,谢谢。 - Jenuel Ganawed
17个回答

45

这个方法对我有效,你可以试一下。 进入应用程序目录,然后进入引导目录,你会看到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,删除#并将production更改为development

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

对于那些遇到intl错误的人,请前往您的php安装目录,编辑php.ini文件,从;extension=intl中删除分号";",改为extension=intl。保存文件并重新启动服务器。我认为这将解决该错误。我的php.ini的特定编辑是在php >= 7.3上进行的,因此我还没有检查Codeigniter 4不支持这些版本以下的其他php版本。


1
env 中设置 CI_ENVIRONMENT = development 奇怪的是没有改变任何东西。 但是像你描述的那样更改 production.php 就解决了问题。 然而,我想知道为什么更改 env 文件没有帮助? - Gerke
8
@Gerke,你是否将文件env更名为.env,在原文件名前添加了一个点号。我希望这样做可以解决你的问题。 - Chibueze Agwu
完美的答案! - Kay Angevare
1
@OluwatobiSamuelOmisakin 当然,这就是为什么我提供了我所知道的可能解决此错误的解决方案的原因。 - Chibueze Agwu
1
由于这是Codeigniter 4,我建议只在.env中将CI_ENVIRONMENT修改为“development”,而不是“production”。在我的情况下没有抛出任何异常,只是提醒启用php.ini中的CURL。无论如何,这是一个很好的提醒,我忘记设置它了。 - Robert
显示剩余2条评论

18
安装完CodeIgniter 4后,运行应用程序时可能会出现以下错误:enter image description here。为了查看错误,请进入 app/Config/Boot/production.php 并将 display_errors 设置为1,如下所示:ini_set('display_errors', '1'); 现在,您将看到以下实际错误:enter image description here。不用担心,该应用程序需要权限。请像下面这样分配权限:sudo chmod -R 777 project_name。

天才中的PHP程序员。 - undefined

14
假设您的CI4项目的根文件夹为rootproject。 编辑rootproject/.env文件。 在第17行更改如下:
#  CI_ENVIRONMENT = production

致:

CI_ENVIRONMENT = development

保存它。

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

如果有写成CacheException的内容,则表示您的缓存文件夹不可写。 使其可写;

Ubuntu:

chown -Rv www-data rootproject/writable

CentOS:

chown -Rv apache rootproject/writable

简单方法:

chmod 777 -Rv rootproject/writable

1
Never use 777, pleease - Oluwatobi Samuel Omisakin

7

在您的CI4项目根目录下,创建一个名为.env的文件。它应该与 system、app 等在同一目录中。

然后,在文件中添加 CI_ENVIRONMENT = development


7
问题很可能是由于缺少扩展程序导致的。请查看此处的服务器要求。检查您的php.ini文件,确保启用了intlmbstring

这里有一个关于启用 intl 的解决方案,由 @burhan-ul-haqq-zahir 回答 https://stackoverflow.com/a/66100302/6681157。 - Diana Quinteros
是的,也在这个网站上说明了: https://www.studentstutorial.com/codeigniter/install_4.php?expand_article=1 - IVIike

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

5

试试这个

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

    搜索;extension=intl并移除分号;

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


4

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


我也在使用Mac。这是一个简单的方法,而且它很有效,非常感谢你。 - Mey Lin

3

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

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

chmod -R 777 writable

当你回答整个问题时,你的答案更适合于 StackOverflow 的格式。你可以引用其他答案。 - ominug

3
  1. 在根目录下将:env更改为.env

  2. # CI_ENVIRONMENT = production更改为CI_ENVIRONMENT = development(确保取消注释)

  3. 您的错误可能与knit.php文件有关。
    前往System/Third Party并将:knit.php更改为Knit.php(首字母大写)

  4. 重新加载。


我手动下载了CI4,按照这些步骤操作后,仍然遇到了相同的问题。 - user8995024

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接
  • 相关问题