Что может привести к тому, что веб-сервер не найдет файл XML? - PullRequest
0 голосов
/ 29 января 2012

У меня есть сценарий PHP, который читает из XML-файла для создания таблицы. Первое, что он делает - проверяет, существует ли файл.

$path = getcwd();
if(file_exists($path.'\inc\php\kbs.xml')){
    $kbs = simplexml_load_file($path.'\inc\php\kbs.xml');
} else {
    echo "Error: No KB file found";
}

Почему-то периодически он не находит файл. Я попытался удалить все проверки file_exists (поскольку я знаю, что файл существует), но иногда он все равно не загружается. Я могу обновить страницу и 7 раз из 10 она не загружается, но иногда это происходит.

Я никогда не сталкивался с этой проблемой во время разработки, но как только она начала работать (сейчас ее используют около 200 пользователей), она начала происходить.

Как мне решить эту проблему? (PHP 5.2.14 работает на IIS)

РЕДАКТИРОВАТЬ: Журналы ошибок дают мне следующие сообщения при сбое:

Notice: Undefined variable: kbs in <the path> on line 16
Notice: Trying to get property of non-object in <the path> on line 16
Warning: Invalid argument supplied for foreach() in <the path> on line 16

строка 16 - это первый раз, когда к переменной $kbs осуществляется доступ. Очевидно, $kbs не устанавливается, если файл не найден.

Ответы [ 2 ]

1 голос
/ 29 января 2012

Пожалуйста, используйте абсолютный путь, относительный путь делает беспорядок.

0 голосов
/ 29 января 2012

Является ли расположение относительно PHP? Разрешения позволяют веб-серверу видеть это?

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