У меня есть сценарий 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
не устанавливается, если файл не найден.