Codeigniter PHP警告

Codeigniter PHP警告,php,codeigniter,Php,Codeigniter,我的codeigniter应用程序中记录了以下错误消息: PHP Warning: include(application/errors/error_php.php): failed to open stream: No such file or directory in /usr/src/dv/system/core/Exceptions.php on line 167, referer: http://localhost/dc 当我打开/usr/src/dv/system/core/Ex

我的codeigniter应用程序中记录了以下错误消息:

PHP Warning:  include(application/errors/error_php.php): failed to open stream: No such file or directory in /usr/src/dv/system/core/Exceptions.php on line 167, referer: http://localhost/dc
当我打开/usr/src/dv/system/core/Exceptions.php时,我在第167行看到以下内容:

include(APPPATH.'errors/error_php.php');
APPPATH
的值是application/

如果出现绝对路径,即
include('/usr/src/mypath.APPPATH.errors/error_php.php')工作正常


我该怎么办?请建议。我不熟悉Codeigniter。

这根本不是Codeigniter的问题。您没有在php.ini中正确设置include_路径。基本上,include_路径在包含文件时为PHP提供了许多不同的目录


在php.ini中,将应用程序所在的文件夹设置为include\u路径。

我对这个答案不满意,您不应该为这项工作更改php.ini

我试图找出cwd(当前工作目录)被重置的原因,以及在较新版本的php中是否有所不同,但找不到任何有用的内容

然而,由于内核仍然可以访问APPPATH,我只是将index.php文件中的行更改为

$application_folder = getcwd().'/../application';

这应该允许您的代码仍然可以传输。

对我来说,这是因为我不小心将“应用程序/错误”文件夹移动到了另一个文件夹(应用程序/核心)中,因为我太快了,无法单击并拖动该文件夹。我使用NetBeans IDE。

我认为您的根分区上的磁盘空间已经用完。

在我的情况下,我发现/application/errors文件夹丢失了
在我复制了一个旧的错误文件夹后,一切都正常工作了。我也遇到了这个错误,原因是我使用了一个不存在的视图,实际上拼写错误我的控制器,视图名为

-@DampseS8N,我也遇到了同样的问题。您能在回答中包含您提到的php.ini代码吗?此外,我不记得最近在我的应用程序或php.ini中更改了任何会触发此错误的内容。你知道这个错误是怎么发生的吗?@Timperson这可能是你必须在ini中更改的,或者在代码中更改ini(一些非常混乱的邪恶框架和库可能会尝试这样做),因此如果你最近没有安装新的库,并且你没有编辑ini,这可能不是你的问题。-@DampeS8N我没有安装新的库,所以我必须更改php.ini的版本。虽然正如我在下面的评论中所说,我没有改变
;include_path=“.:/php/includes”
。所以我想知道,在php.ini或其他配置文件中,我可能在不知不觉中更改了哪些内容(httpd.conf、.htaccess?)可能会导致此错误?@Ian Atkin,如果您不介意的话,我问了DampeS8N同样的问题。如果你们中的任何一个回答,那就太好了。我得到的问题和-@Piyush一样。您能在回答中包含您提到的php.ini代码吗?此外,我不记得最近在我的应用程序或php.ini中更改了任何会触发此错误的内容。你知道这个错误最初是怎么发生的吗?@Timperson Ian(imho更好)答案中的链接提供了这段代码。@DampeS8N谢谢,我检查了我当前的php.ini版本和旧得多的版本,以下代码在两个文件中都被注释掉了:
;include_path=“.:/php/includes”
。所以,如果这一点没有改变,您对可能出现的问题有什么想法吗?我同意,您不需要更改php.ini来解决这个问题。我也有它,结果是因为在抛出异常之前,我在自己的代码中调用了chdir()。因此,您的修复是我的最佳解决方案。哦,对不起,忘了提到我的更正行是
$application\u folder=getcwd()。/application'您应该尝试将应用程序文件夹保留在公共根目录之外。通过更改第74行$application\u folder=getcwd()处的index.php进行修复。'/application'。。。这种情况发生在我身上是因为我将我的PHP版本从5.3更改为较新的版本,此解决方案可以工作,但它会在mysql驱动程序中生成一些其他错误(遇到PHP错误严重性:8192消息:mysql\u escape\u string():此函数已弃用;使用mysql\u real\u escape\u string()改为.Filename:mysql/mysql\u driver.php行号:320)。。。所以我又回到了5.3这并不能真正回答这个问题。如果您有不同的问题,可以单击以提问。一旦你有足够的时间,你也可以吸引更多的注意力确保所有正在使用的视图文件都存在。在控制器文件中。