PHP require_once не работает, но требуют работы - PullRequest
0 голосов
/ 18 июня 2019

В приложении, которое я вызываю файл 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.
...