Следующее сообщение об ошибке регистрируется в моем приложении 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');
он работает нормально.
Что мне с этим делать? Пожалуйста, предложите. Я новичок в воспламенителе кода.
Я был недоволен этим ответом, вам не нужно менять php.ini для этой работы.
Я попытался выяснить, почему cwd (текущий рабочий каталог) сбрасывается, и если это было другим в новой версии php, но не нашел ничего полезного.
Однако, поскольку у ядра все еще был доступ к APPPATH, я просто изменил строку в моем файле index.php на
$application_folder = getcwd().'/../application';
Это должно позволить вашему коду переноситься еще.
Это вовсе не проблема Codeigniter. У вас нет правильного пути include_path в php.ini. В принципе, include_path дает PHP ряд различных каталогов, которые нужно искать при включении файлов.
В php.ini установите папку, в которой приложение находится в качестве include_path.
Для меня это произошло потому, что я случайно переместил папку приложений / ошибок в другую папку (приложение / ядро), потому что я слишком быстро щелкнул и перетащил папку. Я использую среду IDE NetBeans.
Я думаю, что у вас закончилось дисковое пространство на вашем корневом разделе.
В моем случае я понял, что в папке / application / errors отсутствует все, что работает нормально после того, как я скопировал старую папку с ошибками
Я также получил эту ошибку и причину, чем я использую представление, которого не существовало, на самом деле орфографическая ошибка моего контроллера, где вызывается