【发布时间】:2020-10-07 07:48:28
【问题描述】:
我正在尝试将我的 CI4 项目的环境更改为开发环境。 我更改了 .env 文件中的值并删除了“#”,但是当我这样做时,我遇到了“不允许直接脚本访问”错误。
我也尝试将其更改为测试,但随后收到以下消息:
致命错误:未捕获的错误:类 'Tests\Support\Log\TestLogger' 不是 找到了
我们当前使用的 CI4 版本是已发布的较早版本之一,但我们确实将文件更新为较新的版本。
这个错误可能是由于 CodeIgniter 的旧版本不完整造成的吗? 我们进行了很多更改以使其最初可以正常工作,因此如果我们需要将其移至较新的版本,则可能需要一些时间并使我们进一步落后于计划。 但如果这是唯一可行的方法,那么我们将需要这样做。
我重命名了“错误”视图文件以查看是否可以跳过“不允许直接脚本访问”消息,但随后我收到一条错误消息,因为它找不到视图。
从错误视图中删除以下行是否安全?
defined('BASEPATH') OR exit('不允许直接脚本访问');
感谢您提供的任何帮助
【问题讨论】:
-
您所说的“这里有很多东西我们进行了更改以使其最初能够正常工作”是什么意思?你改变了核心文件吗?如果是这样,您应该避免这样做并升级到最新的 CI4 版本。因此,
defined('BASEPATH') OR exit('No direct script access allowed');在 CI4 中不再使用。这可能是您在这里拥有的一些 CI3 遗产 -
项目所在的 CI 版本是 CI4 的 alpha 版本,或者可能是之后的一个版本,这是我们当时第一次使用 CI4,所以我们真的不知道该怎么做.需要更改的内容是 .htaccess 文件和其他通用文件,我们没有更改核心文件中的任何内容
-
问题已通过切换到 CI 4.0.4 得到解决,但 base_url() 的工作方式略有不同,因此我们必须在整个项目的所有 400 次出现时更新它
-
你删除了(app/view/errors)文件夹吗?不要删除那个
-
没有文件夹或文件被删除,当我切换到较新版本的 CI 时问题已解决
标签: php codeigniter codeigniter-4