Как перезапустить скрипт, когда произошла ошибка? - PullRequest
0 голосов
/ 01 июня 2018

Я написал скрипт для поиска значений в XML-файле.Эти файлы я извлекаю в режиме онлайн с помощью следующего кода

# Reads entire file into a string
    $result = file_get_contents($xml_link);
    # Returns the xml string into an object
    $xml = simplexml_load_string($result);

Но некоторые XML-файлы имеют большой размер, в результате чего я получил следующую ошибку Неустранимая ошибка: превышено максимальное время выполнения 30 секунд.Я адаптировал файлы ini.php к времени max_exucution, равному 360 секундам, но все еще получал ту же ошибку.

Я имею в виду два варианта.

  • Если возникает эта ошибка, снова запустите строку.Но я не смог ничего найти в Интернете (я, вероятно, ищу с неправильными поисковыми терминами).Есть ли возможность запустить строку, где ошибка повторяется?
  • Сохраните временные локальные файлы xml, найдите информацию таким образом и удалите в конце процесса.Здесь я понятия не имею, как удалить их после получения всех данных?И действительно ли это решит проблему?Потому что мой сценарий все еще должен искать через XML-файл?Разве это не займет столько же времени?

1 Ответ

0 голосов
/ 04 июня 2018

Когда я использовал эти две строки в моем скрипте, проблема была решена.

ini_set('max_execution_time', 300);
set_time_limit(0);
...