Codeigniter 3 使用未定义常量 VIEWPATH - 假定 'VIEWPATH'
Codeigniter 3 Use of undefined constant VIEWPATH - assumed 'VIEWPATH'
我使用 Codeigniter 3 构建了一个系统,但出于某种原因,只有部分用户出现白屏。我正在尝试调试它并打开日志记录。
我的日志中出现以下错误:
Severity: Notice --> Use of undefined constant VIEWPATH - assumed 'VIEWPATH' /my/server/path/to/system/core/Common.php 196
Severity: Notice --> Use of undefined constant VIEWPATH - assumed 'VIEWPATH' /my/server/path/to/system/core/Exceptions.php 162
Severity: Warning --> include(): Failed opening 'VIEWPATHerrors/html/error_general.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') /my/server/path/to/system/core/Exceptions.php 182
所以核心 php 文件似乎无法从索引文件中看到定义的变量。但奇怪的是,如果我在 Common.php 的顶部定义 VIEWPATH,它会错误地说 VIEWPATH 已经设置。我在我的控制器中添加了一个 log_message 来输出我的 VIEWPATH 设置,它似乎工作得很好。
我不知道如何克服这个问题。有什么想法吗?
VIEWPATH
应该改为 APPPATH
。因此它将加载您的根文档文件夹
主要用于访问view
文件夹
APPPATH
用法示例
1. controller
2. view
- myfile.php
- sub_folder
1. main.php
如果我们想在main.php
里面访问myfile.php
,我们使用
include(APPPATH.'views/myfile.php');
谢谢@abdulla,但是,我发现了问题。 index.php 文件被绕过,只有一些用户以某种方式转到一个旧的不同名称的文件,该文件基于我们之前所做的 CI2 构建。
如果其他人遇到此问题,请检查以确保您的根目录中没有用户可能访问的任何其他 "index" 文件。
这通常是由于升级 CodeIgniter 时没有从旧版本更新 index.php 造成的。简单的解决方法是从您要升级到的版本下载 index.php 文件并用它替换旧的 index.php。
我也遇到过这个问题。当更改 codeigniter 旧版本时,不要忘记使用新版本 index.php 文件。而已。它找不到 PATH 目录。因为在新版本中,路径在 codeigniter 处发生了变化。
对我来说类似的解决方案,我没有对 index.php 进行所有必需的更改。在使用 CI 3 示例中的 index.php 进行更新后(然后添加回我的自定义元素)嘿,很快,它起作用了。
我使用 Codeigniter 3 构建了一个系统,但出于某种原因,只有部分用户出现白屏。我正在尝试调试它并打开日志记录。
我的日志中出现以下错误:
Severity: Notice --> Use of undefined constant VIEWPATH - assumed 'VIEWPATH' /my/server/path/to/system/core/Common.php 196
Severity: Notice --> Use of undefined constant VIEWPATH - assumed 'VIEWPATH' /my/server/path/to/system/core/Exceptions.php 162
Severity: Warning --> include(): Failed opening 'VIEWPATHerrors/html/error_general.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') /my/server/path/to/system/core/Exceptions.php 182
所以核心 php 文件似乎无法从索引文件中看到定义的变量。但奇怪的是,如果我在 Common.php 的顶部定义 VIEWPATH,它会错误地说 VIEWPATH 已经设置。我在我的控制器中添加了一个 log_message 来输出我的 VIEWPATH 设置,它似乎工作得很好。
我不知道如何克服这个问题。有什么想法吗?
VIEWPATH
应该改为 APPPATH
。因此它将加载您的根文档文件夹
主要用于访问view
文件夹
APPPATH
用法示例
1. controller
2. view
- myfile.php
- sub_folder
1. main.php
如果我们想在main.php
里面访问myfile.php
,我们使用
include(APPPATH.'views/myfile.php');
谢谢@abdulla,但是,我发现了问题。 index.php 文件被绕过,只有一些用户以某种方式转到一个旧的不同名称的文件,该文件基于我们之前所做的 CI2 构建。
如果其他人遇到此问题,请检查以确保您的根目录中没有用户可能访问的任何其他 "index" 文件。
这通常是由于升级 CodeIgniter 时没有从旧版本更新 index.php 造成的。简单的解决方法是从您要升级到的版本下载 index.php 文件并用它替换旧的 index.php。
我也遇到过这个问题。当更改 codeigniter 旧版本时,不要忘记使用新版本 index.php 文件。而已。它找不到 PATH 目录。因为在新版本中,路径在 codeigniter 处发生了变化。
对我来说类似的解决方案,我没有对 index.php 进行所有必需的更改。在使用 CI 3 示例中的 index.php 进行更新后(然后添加回我的自定义元素)嘿,很快,它起作用了。