2013-04-02 3 views
5

В настоящее время у меня проблема с GoDaddy и его хостингом. Максимальное время, затрачиваемое на выполнение скрипта PHP, составляет 120 секунд = 2 минуты.PHP Refresh Page

Иногда, когда я запускаю свой сценарий, требуется более 120 секунд, а иногда требуется 30 секунд.

Когда это займет более 120 секунд, я получаю Internal Server Error (500).

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

+1

Не можете ли вы использовать 'set_time_limit()'? – kero

+0

Возможно, вы можете что-то сделать с помощью 'microtime();' но что касается обновления, я не знаю. – lemondrop

+0

@kingkero, это просто установило бы ограничение по времени. Мне нужно знать, достигнут ли срок, и если это так, мне нужно обновить страницу. –

ответ

2

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

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

В самом начале вашего скрипта, сохранить текущее время: $t_start = time();

Тогда в верхней части петли, сделать $runtime = time() - $t_start; то у вас есть, как долго вы работаете, и может использовать, чтобы разговляйся петля изящно, если вы приблизитесь к своему пределу 120.