Функція обмеження часу виконання PHP: max_execution_time()

7 0 Новини високих технологій

Будь-який алгоритм повинен бути швидким і точним. PHP - це мова сервера, працює швидко і ефективно. Один сервер може обслуговувати тисячі процесів одночасно, але кожен з них може створити проблеми всім іншим. Управління часом виконання має важливе значення для веб-ресурсу і тих, які знаходяться поруч з ним.

Алгоритм і час

Умови та цикли - всього два варіанти створити проблеми. Послідовний код не може створити реальну затримки часу виконання. Навіть на великих обсягах даних PHP стрімко справляється з будь-якою поставленою задачею.
Функція обмеження часу виконання PHP: max_execution_time()
Можна заплутати процес виконання скрипта, створивши стохастичну систему об'єктів. Однак сучасний програміст дотримується класичних традицій в програмуванні або використовує громіздкі системи управління сайтами. Шансів на створення складної системи реальних об'єктів практично немає. Навантаження на сервер.


Фатальна помилка часу виконання - результат неправильного алгоритму або банального зациклення. З тим, щоб уникнути зависання сервера, порушення функціонування всіх «правильних» серверних процесів з-за одного «неправильного», файл php.ini містить обмеження часу виконання будь-якого сценарію - директиву: max_execution_time = 30.
Функція обмеження часу виконання PHP: max_execution_time()
Зазвичай хостери забороняють змінювати час виконання скрипта. Але якщо це можливо, то за допомогою функції PHP max_execuion time() можна виставити бажане значення. Принципово з хостером можна домовитися і на нескінченне виконання php-процесів. Використовуючи функції ignore_user_abort() і set_time_limit(), можна дати скрипту шанс на вічне існування: він зможе працювати навіть якщо відвідувач пішов з ресурсу.


Вічні скрипти і обмеження виконання

Не так мало завдань, які вимагає постійної турботи». Найбільш простий і доступний приклад - біржа. Інформація з біржі повинна діяти постійно. Не важливо, скільки брокерів у даний момент підключені до біржі, хто з них пішов на обід або заснув, скрипт повинен стабільно працювати тривалий час, як мінімум повний операційний день. Існують і інші завдання, що вимагають роботи скрипта у вільному режимі без обмеження часу виконання. Використовувати функцію PHP max_execution_time() - воля програміста. PHP швидкий мову і в 30 секунд будь алгоритм укладається без особливих проблем.
Функція обмеження часу виконання PHP: max_execution_time()
Коли потрібно дійсно проявити терпіння - потік даних дійсно великий або затримка інформації при передачі з сервера помітна, можна збільшити значення в php.ini за згодою хостера. Можна використовувати функцію PHP max_execution_time(). Але в будь-якому випадку, якщо виникає потреба в збільшенні часу виконання і немає необхідності проектувати «вічний» алгоритм, слід переглянути алгоритм і умови завдання. Якість будь-якого алгоритму - прозоре і зрозуміле виконання. Мінімум умов, мінімум циклів, проста послідовність дій - хороше рішення задачі.

Умови та цикли

Як встановити потрібне значення часу виконання PHP скрипта: max_execution_time() або ini_set() - питання творчий, але не суттєвий. Краще звернутися до хостеру і змінити потрібну директиву у файлі php.ini, який саме для цього призначений.
Функція обмеження часу виконання PHP: max_execution_time()
Змінювати директиву засобами мови - не найпривабливіша ідея. Набагато перспективніше переглянути алгоритм, перевірити всі діючі умови та цикли. Алгоритм повинен прозоро і послідовно досягати потрібного результату. Жодних зайвий розгалужень, всі цикли повинні бути під контролем кількості ітерацій. Тільки коли цикл максимально налагоджений, він не може дати збій. Тільки коли кількість умов зведено до мінімуму, можна не надавати ніякого значення зміни значення директиви часу виконання. Поставлена задача буде розв'язана за встановлений час.