Новини високих технологій
» » Функція обмеження часу виконання PHP: max_execution_time()

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

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

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

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


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


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

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

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

Як встановити потрібне значення часу виконання PHP скрипта: max_execution_time() або ini_set() - питання творчий, але не суттєвий. Краще звернутися до хостеру і змінити потрібну директиву у файлі php.ini, який саме для цього призначений.
Змінювати директиву засобами мови - не найпривабливіша ідея. Набагато перспективніше переглянути алгоритм, перевірити всі діючі умови та цикли. Алгоритм повинен прозоро і послідовно досягати потрібного результату. Жодних зайвий розгалужень, всі цикли повинні бути під контролем кількості ітерацій. Тільки коли цикл максимально налагоджений, він не може дати збій. Тільки коли кількість умов зведено до мінімуму, можна не надавати ніякого значення зміни значення директиви часу виконання. Поставлена задача буде розв'язана за встановлений час.
Цікаво по темі
Функція PHP set_time_limit() - управління часом виконання скрипта
Функція PHP set_time_limit() - управління часом виконання скрипта
Управління часом виконання PHP-скрипта допомогою серверного мови має значення для цілей тестування і оптимізації алгоритму обробки даних. По суті,
Зміст і використання JavaScript void
Зміст і використання JavaScript void
Відсутність значення і значення undefined - раритет найдавніших часів інформаційних технологій, але навіть в сучасному світі у них є місце і
Перевірка наявності файлу PHP file_exists
Перевірка наявності файлу PHP file_exists
Широке застосування баз даних не позбавило звичайну файлову систему значення. Запис і читання файлів як і раніше займають значиме місце в
Конструкція PHP if else: прихована логіка
Конструкція PHP if else: прихована логіка
Умовний оператор - найдавніша конструкція синтаксису будь-якої мови програмування. Програми завжди щось порівнювали і «вирішували, що робити далі.
PHP: час виконання скрипта на практиці
PHP: час виконання скрипта на практиці
Час виконання скрипта завжди має значення, а в деяких випадках особливе. Якщо сайт або окремий його елемент не функціонує як потрібно, має змив