【问题标题】:Whoops! We seem to have hit a snag. Please try again later哎呀!我们似乎遇到了障碍。请稍后再试
【发布时间】:2020-01-11 02:41:10
【问题描述】:

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

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

变化:

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


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

【问题讨论】:

标签: codeigniter-4


【解决方案1】:

这个作品给我试试 进入 app 目录,然后进入 boot 目录,你会看到 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 = development 更改为 CI_ENVIRONMENT = production

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

【讨论】:

  • env 中设置CI_ENVIRONMENT = development 奇怪地没有改变任何东西。但是正如你所描述的那样改变production.php就可以了。但是,我想知道,为什么更改 env 文件没有帮助?
  • @Gerke 您是否将文件env 更改为.env,即在文件名前添加点。我希望这会为你完成这项工作
  • @user9437856 你在用什么
  • @OluwatobiSamuelOmisakin 当然,这就是我给出可能的解决方案的原因,我知道你可以用它来解决这个错误
  • 因为这是 Codeigniter 4,所以我建议仅将 .env 中的 CI_ENVIRONMENT 从“生产”修改为“开发”。在我的情况下,没有抛出异常,只是在 php.ini 中启用 CURL 的信息。不管怎样,提醒一下,忘记设置了。
【解决方案2】:

试试这个

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

    搜索 ;extension=intl 并删除 ;

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

【讨论】:

    【解决方案3】:

    这个问题很可能是由于缺少扩展。检查server requirements here.。检查您的 php.ini 文件并确保启用了 intlmbstring

    【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      在安装 CodeIgniter 4 后运行应用程序会出现这样的错误

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

      ini_set('display_errors', '1');

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

      不用担心。该应用程序需要许可。如下分配权限

      sudo chmod -R 777 项目名称

      【讨论】:

        【解决方案6】:

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

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

        chmod -R 777 writable
        

        【讨论】:

        • 当您回答整个问题时,您的答案更适合 StackOverflow 格式。您可以引用其他答案。
        【解决方案7】:

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

        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...')
        

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

        【讨论】:

          【解决方案8】:
          1. 在根文件夹中更改:env.env

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

          3. 您的错误可能与 knit.php 文件有关。
            转到 System/Third Party 并更改:knit.phpKnit.php(大写)

          4. 重新加载。

          【讨论】:

          • 我手动下载了 ci4,按照这些步骤操作后,遇到同样的问题
          【解决方案9】:

          假设您的 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
          

          【讨论】:

          • 请不要使用777
          【解决方案10】:

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

          【讨论】:

          • 我也在使用 Mac。一个简单的方法,它的工作原理,非常感谢。
          【解决方案11】:

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

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

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

          享受您的最新 CI。

          【讨论】:

            【解决方案12】:

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

            然后,添加这个CI_ENVIRONMENT = development

            【讨论】:

              【解决方案13】:

              不确定想要的答案是什么,但是:

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

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

              【讨论】:

                【解决方案14】:

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

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

                SetEnv CI_ENVIRONMENT development
                

                Apache httpd.config 文件对我有用。

                _t

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2018-10-06
                  • 2017-11-02
                  • 2020-07-01
                  • 1970-01-01
                  • 2017-10-03
                  • 2017-11-21
                  • 2019-12-18
                  • 2022-06-25
                  相关资源
                  最近更新 更多