Ожидание завершения записи XML-файла в PHP - PullRequest
0 голосов
/ 13 декабря 2010

Мои знания PHP ограничены, и у меня возникла проблема с запущенным скриптом.

Я объединяю довольно много XML-каналов и записываю вывод на свой собственный сервер в пользовательском XML-файле.

Я использую XMLWriter для этого, но проблема, с которой я сталкиваюсь, заключается в том, что когда файл успешно завершен, запись в него выполняется?

Я загружаю внешние каналы с помощью SimpleXMLElement, и в общей сложности запуск сценария занимает около 10 секунд, но когда я выполняю print_r ($ xmlWriter) в конце сценария, он пуст, как и файл xml. Я пытаюсь написать.

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

Любая помощь приветствуется

Спасибо

1 Ответ

0 голосов
/ 13 декабря 2010

Вы можете проверить, является ли $ xmlWriter пустым, так как вы говорите, что это проблема, и выполнить цикл, пока он не будет пустым, но в то же время вы можете сказать PHP подождать некоторое время, чтобы сохранить производительность:

//while the XML hasn't finished being written yet
while ($xmlWriter == "") {
  // sleep for 10 seconds
  sleep(10);
}

Вы могли бы даже вести подсчет того, как долго он ждет, и через некоторое время сдаться и справиться с ошибкой.

...