Как увеличить максимальное время выполнения PHP в WordPress?

PHP – это язык сценариев на стороне сервера, который является основой веб-сайтов WordPress. Ядро, темы и плагины WordPress содержат файлы PHP, которые помогут вам получить контент из базы данных и собрать макет страницы. Однако весь процесс запуска любого PHP-скрипта должен быть завершен в течение ограниченного времени (обычно в секундах). Для управления временем выполнения скрипта в PHP есть переменная max_execution_time. Важно установить для этого параметра желаемое значение, чтобы защитить ваш сервер и выделить ресурсы сервера для реальных пользователей, посещающих сайт, вместо того, чтобы запускать плохо написанный скрипт в фоновом режиме.

WordPress SEO: Оптимизируйте сайт WordPress с помощью бесплатного руководства по SEO для WordPress.

Почему время выполнения ограничено?

На большинстве хостинговых серверов время выполнения по умолчанию установлено 30 секунд. Однако некоторые компании общего хостинга могут ограничиться более низкими значениями. Есть веские причины ограничить максимальное время выполнения PHP в WordPress.

  • Многие хакеры внедряют файлы PHP для запуска сценария на вашем сайте. Ограничение времени работы скрипта поможет вам повысить безопасность вашего сайта.
  • Некоторые легитимные скрипты, такие как плагины для проверки битых ссылок, запускают скрипт для сканирования всех страниц вашего сайта. Это может хорошо работать для сайтов со 100 страницами. Однако запуск скрипта на сайте с 10К сообщениями приведет к остановке сервера.
  • Старые и плохо написанные сценарии PHP могут работать долго и вызывать фатальные ошибки.

Ограничение максимального времени выполнения PHP на сервере может помочь остановить слишком долгую работу этих скриптов и повлиять на реальных пользователей на сайте.

Зачем может потребоваться повышение?

Хотя есть веские причины ограничить время выполнения PHP на сайтах WordPress, есть также причины, по которым вам следует увеличить лимит.

  • Иногда для обновления ядра WordPress, темы или плагинов требуется загрузить большой объем данных. Вы можете установить максимальный размер загружаемого файла с помощью параметра post_max_size. Однако сценарий PHP также должен работать в течение длительного времени, чтобы загрузка на ваш сервер завершилась. В противном случае вы получите ошибку обновления из-за тайм-аута.
Ошибка обновления темы с тайм-аутом выполнения PHP
  • Многие коммерческие темы WordPress предлагают настраиваемый импорт демо с большим контентом. Возможно, вам потребуется увеличить значения параметров max_input_vars и max_execution_time, чтобы завершить процесс импорта демо. Кроме того, вам может потребоваться увеличить максимальный размер памяти PHP, чтобы тяжелые плагины и темы работали правильно.

Как просмотреть максимальное время выполнения?

Некоторые хостинговые компании, такие как Bluehost и SiteGround, предлагают приложение PHP Manager в вашей учетной записи. Вы можете использовать это приложение, чтобы найти настройку max_execution_time для вашего сайта. Например, следуйте приведенным ниже инструкциям в хостинге SiteGround.

  • Войдите в свою учетную запись хостинга и перейдите в раздел «Сайты».
  • Щелкните ссылку «Инструменты сайта» напротив сайта, значение которого вы хотите проверить.
  • Найдите приложение PHP Manager в разделе «Разработчики» или воспользуйтесь функцией поиска, чтобы найти приложение.
  • Перейдите в раздел «Переменные PHP» и прокрутите вниз.
  • Найдите переменную max_execution_time, чтобы найти присвоенное ей значение по умолчанию.
  • Хостинг SiteGround допускает 120 секунд в качестве значения по умолчанию, которого должно быть достаточно в большинстве случаев.
  • Кроме того, вы не можете изменить это значение из этого приложения.
Изменить максимальное время выполнения PHP в SiteGround
Изменить максимальное время выполнения PHP в SiteGround

На хостинге Bluehost вы можете использовать приложение MultiPHP INI Editor, чтобы найти максимальное значение времени выполнения. Если вы не можете найти значение по умолчанию, лучший вариант – попросить ваш хост проверить вас.

Как увеличить max_execution_time PHP в WordPress?

Если вы получаете сообщение об ошибке, например тайм-аут, вы можете увеличить PHP max_execution_time, чтобы решить проблему. Вы можете сделать это одним из следующих способов:

  1. Редактирование файла wp-config.php
  2. Добавление директивы htaccess
  3. Использование файла php.ini
  4. Использование пользовательских приложений с сервера (для Bluehost)

Для первых трех вариантов вам необходимо отредактировать файлы конфигурации с помощью приложения File Manager из вашей учетной записи хостинга. Кроме того, вы можете использовать FTP для удаленного доступа к вашему сайту и изменения содержимого файла.

Важный: Перед редактированием рекомендуется сделать резервную копию исходных файлов.

1. Увеличьте время выполнения PHP с помощью wp-config.php

Перейдите в корневой каталог WordPress и найдите файл wp-config.php. Ниже приведен пример снимка экрана, на котором показано расположение файла из приложения File Manager.

Найдите файл PHP wp-config

Вместо диспетчера файлов вы также можете использовать учетную запись FTP для изменения файла wp-config.php.

Отредактируйте wp-config с помощью FileZilla

Добавьте строку ниже перед тем, как будет сказано / * Вот и все, прекратите редактирование! Удачного ведения блога. * /. 100 в этом примере означает максимальное время выполнения в 100 секунд, вы можете изменить его на любое желаемое значение по своему усмотрению.

/** Change PHP Max Execution Time */
set_time_limit(100);

Это должно выглядеть так:

Изменить максимальное время выполнения PHP в файле конфигурации WP
Изменить максимальное время выполнения PHP в файле конфигурации WP

2. Увеличьте время выполнения PHP с помощью htaccess

Вместо редактирования файла wp-config вы можете добавить указанную ниже директиву в файл htaccess в корне вашего сервера.

php_value max_execution_time 100

Заметка: По умолчанию файл .htaccess скрыт. Для просмотра этого файла необходимо включить просмотр скрытых файлов в FTP-клиенте. В большинстве случаев диспетчер файлов показывает все файлы, не скрываясь.

3. Увеличьте время выполнения PHP с помощью php.ini

Последний и предпочтительный вариант – использовать файл php.ini.

  • Зайдите в корень вашего сервера и проверьте, доступен ли у вас файл php.ini. Если файл доступен, отредактируйте и добавьте приведенный ниже код.
max_execution_time = 100
  • Если файл недоступен, вы можете создать файл php.ini с помощью текстовых редакторов, таких как Notepad ++ или Brackets. Добавьте приведенный выше код в файл и загрузите его в корень вашего сервера.
Увеличьте максимальное время выполнения PHP в файле php.ini
Увеличьте максимальное время выполнения PHP в файле php.ini

4. Использование пользовательских серверных приложений

Этот вариант доступен только для определенных хостинговых компаний, таких как Bluehost. Мы объясняем здесь с Bluehost, что вы должны подтвердить доступность этого типа приложений в своей хостинговой компании.

  • Войдите в свою учетную запись Bluehost и щелкните раздел «Дополнительно».
  • Вы попадете в cPanel.
  • Найдите и откройте приложение MultiPHP INI Editor.
  • Выберите домен, для которого хотите изменить лимит.
  • Прокрутите вниз, найдите директиву max_execution_time PHP и измените значение.
  • Нажмите кнопку «Применить» внизу, чтобы сохранить изменения.
  • Bluehost устанавливает значение по умолчанию для максимального времени выполнения как 30 секунд и ограничивает максимальное значение 90 секунд.
Изменить максимальное время выполнения PHP в Bluehost
Изменить максимальное время выполнения PHP в Bluehost

Риски увеличения времени выполнения

Установка слишком большого значения, например 1000 секунд, может потенциально повредить ваш сервер, если скрипт выполняется в течение такого длительного времени. Кроме того, хакеры или вредоносные сценарии могут работать долгое время без остановки, влияя на производительность вашего сайта на веб-интерфейсе. Чтобы защитить сервер, многие хосты не позволяют изменять значение max_execution_time больше, чем разрешено.

Даже если вы определяете значения с помощью одного из вышеперечисленных методов, он может не работать, если ваш хост не позволяет. Лучший вариант – проконсультироваться с вашим хостом и попросить о помощи, если вы столкнулись с ошибками, такими как сбой обновления из-за тайм-аута.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *