В приложении, которое я вызываю файл require_once $, я проверил, что переменная $ file представляет абсолютный путь, файл существует и доступен для чтения.PHP 7.3 дает мне страшное сообщение: «Неустранимая ошибка: require_once (): сбой открытия требуется»).
Когда я изменяю код, чтобы использовать «require» вместо «require_once», я продолжаю, до следующего оператора «require_once».
Я запускаю PHP 7.2.19 на Ubuntu 18.04.
Этот конкретный код встроен глубоко в приложение, которое уже включало и требовало много разных файлов в разное время.
Я проверял очевидные вещи, например, включение определенного файла несколько раз (нет) ... и в том числе другой файл для целей тестирования, и это также не всегда получается.Я дважды проверил разрешения и т. Д.
$file = "$destdir/lib/include.php";
$file = realpath($file);
if( is_file($file) && is_readable($file) ) {
require_once $file; // fails
// require $file; // works, but fails when require_once is called within this file.
// include $file; // works, but fails when require_once is called within this file
// include_once $file; // fails
}
I expected of course, that the file is required.