Codeigniter PHP警告

piy*_*ush 4 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
Run Code Online (Sandbox Code Playgroud)

当我打开/usr/src/dv/system/core/Exceptions.php时,我会在第167行看到以下内容:

include(APPPATH.'errors/error_php.php');
Run Code Online (Sandbox Code Playgroud)

APPPATH是应用/

如果我追加绝对路径,即include('/usr/src/mypath'.APPPATH.'errors/error_php.php');它工作正常.

我该怎么办呢?请建议.我是代码点火器的新手.

小智 7

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

我试图找出为什么cwd(当前工作目录)被重置,如果这在新版本的PHP中有所不同,但找不到任何有用的东西.

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

$application_folder = getcwd().'/../application';
Run Code Online (Sandbox Code Playgroud)

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

  • 我同意,你不应该更改php.ini来解决这个问题.我也拥有它,结果是因为我在抛出异常之前在我自己的代码中调用了chdir().所以你的修复是我案例中最好的解决方案. (2认同)

Gor*_*man 6

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

http://www.php.net/manual/en/ini.core.php#ini.include-path

  • 打败了我!:) +1 (2认同)