Вопрос по php – Codeigniter PHP Предупреждение

4

В моем приложении 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 это приложение /

Если я придумаю абсолютный путь, т.е.include('/usr/src/mypath'.APPPATH.'errors/error_php.php'); это работает нормально.

Что мне с этим делать? Пожалуйста, предложите. Я новичок в коде воспламенитель.

Ваш Ответ

8   ответов
4

в которой находится приложение, как include_path.

- @ DampseS8N, у меня та же проблема. Можете ли вы включить код php.ini, который вы упомянули в своем ответе? Кроме того, я не помню, чтобы в моем приложении или php.ini что-то менялось в последнее время, что могло бы вызвать эту ошибку. У вас было бы чувство, как эта ошибка произошла в первую очередь?
- @ DampeS8N Я не установил новую библиотеку, поэтому мне пришлось изменить php.ini. Хотя, как я уже сказал в своем комментарии ниже, я не изменил;include_path = ".:/php/includes", Поэтому мне интересно, что еще в php.ini или в других конфигурационных файлах, которые я мог неосознанно изменить (httpd.conf, .htaccess?), Могло вызвать эту ошибку?
@timpeterson Это было бы то, что вы должны были изменить в ini или в коде, чтобы изменить ini (что могут попытаться сделать некоторые очень грязные злые фреймворки и библиотеки), так что если вы недавно не установили новую библиотеку, и у вас нет отредактировал INI, это, вероятно, не ваша проблема.
0

0

что я случайно переместил папку application / errors в другую папку (application / core), потому что я слишком быстро щелкал и перетаскивал папку. Я использую IDE NetBeans.

0

index.php и я решил это, изменив

require_once(APPPATH.'system/core/CodeIgniter.php');

в

require_once('system/core/CodeIgniter.php');

0

и причина в том, что я использую представление, которого не было, на самом деле ошибка в написании моего контроллера, где вызывается представление

Error: User Rate Limit ExceededAsk Question, Вы также можетеadd a bountyError: User Rate Limit Exceededreputation. - From Review
Убедитесь, что все используемые файлы просмотра существуют. в файле контроллера.
0

все работает нормально после того, как я скопировал старую папку с ошибками

7

вам не нужно менять php.ini для этой работы.

Я попытался выяснить, почему cwd (текущий рабочий каталог) сбрасывался и отличался ли он в новой версии php, но не смог найти ничего полезного.

Однако, поскольку ядро все еще имело доступ к APPPATH, я просто изменил строку в моем файле index.php на

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

Это должно позволить вашему коду быть транспортабельным.

Error: User Rate Limit Exceeded$application_folder = getcwd() .'/application';
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
6

path в php.ini. По сути, include_path дает PHP ряд различных каталогов для просмотра при включении файлов.

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

бей меня к этому! :) +1
@timpeterson Ссылка в ответе Яна (имхо, лучше) дает вам этот код.
- @ Ян Аткин, тот же вопрос, который я задал DampeS8N, если вы не возражаете. Если кто-нибудь из вас ответит, это было бы здорово. У меня та же проблема, что и у @ Piyush. Можете ли вы включить код php.ini, который вы упомянули в своем ответе? Кроме того, я не помню, чтобы в моем приложении или php.ini что-то менялось в последнее время, что могло бы вызвать эту ошибку. У вас было бы чувство, как эта ошибка произошла в первую очередь?
@ DampeS8N спасибо, я проверил свой текущий php.ini по сравнению со значительно более старой версией, и следующий код закомментирован в обоих файлах:;include_path = ".:/php/includes", Так что, если это не изменится, вы думаете о том, что может иметь?

Похожие вопросы