Неустранимая ошибка PHP: require_once (): не удалось открыть требуемый файл 'Zend / Gdata / Extension.php' - PullRequest
4 голосов
/ 23 августа 2009

По какой-то странной причине, которую я не могу понять прямо сейчас, NoEmbed.php завершается ошибкой с фатальной ошибкой при попытке включить файл. Путь include установлен правильно, я проверил это, как показано ниже (прямо перед директивой require_once в NoEmbed.php):

$s = ini_get('include_path');
$a = explode(':',$s);
foreach($a AS $path) {
    echo $path;
    if(file_exists($path.'/Zend/Gdata/Extension.php')) echo '...found<br/>';
    else  echo '...not found<br/>';
}

который выводит "найдено" в ожидаемом месте.

Я должен признать, что в настоящее время я не могу придумать ни одной причины, по которой это должно происходить, особенно потому, что NoEmbed.php включен правильно. Я сталкивался с похожими проблемами с решениями для кэширования, но все они уже были деактивированы или удалены без какой-либо разницы.

Редактировать: Я только что обнаружил, что он работает с "require" против "require_once" (затем выдает ошибку redeclare) ... любая возможная причина этого?

Ответы [ 2 ]

0 голосов
/ 29 августа 2011

В моем случае проблема была в неисправном жестком диске. Я мог видеть файл и его содержимое с помощью терминала, но PHP выдал мне эту конкретную ошибку «не найден файл» в 60% обращений.

Я перенес его на другой жесткий диск, и ошибка исчезла.

0 голосов
/ 23 августа 2009

Проверьте права доступа и владельца реперториума, где находятся файлы, а файлы - два.

например, dir может быть 755, а файлы 644, с www-данными в качестве владельца, если вы хотите записать в них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...