В работе с WordPress часто возникает необходимость изменить настройки PHP, например, увеличить лимит памяти, максимальный размер загружаемого файла или время выполнения скриптов. Однако не всегда есть доступ к файлу php.ini, особенно на shared-хостингах. В этой статье мы подробно разберём, как установить и изменить PHP разрешения (настройки) в WordPress без прямого редактирования php.ini — используя альтернативные способы.
Почему важно корректно настраивать PHP разрешения для WordPress
PHP разрешения (PHP директивы) влияют на стабильность и производительность сайта. Например, ограничение upload_max_filesize напрямую влияет на максимальный размер файла для загрузки через админку WordPress. Если лимит слишком мал, загрузка больших изображений или резервных копий невозможна.
Другие важные параметры: memory_limit, max_execution_time, post_max_size. Некорректные значения могут приводить к ошибкам «превышение времени выполнения», проблемам с импортом/экспортом, а также к невозможности установить обновления и плагины.
Но что делать, если у вас нет доступа к php.ini? Ниже рассмотрим несколько альтернативных вариантов, которые помогут настроить PHP разрешения именно для вашего WordPress-сайта.
Изменение PHP настроек с помощью файла .htaccess
На многих серверах, использующих Apache, можно менять PHP параметры через файл .htaccess в корне сайта. Это самый простой способ, если разрешены директивы php_value и php_flag.
Добавьте в .htaccess следующие строки для изменения популярных параметров:
# Увеличение лимита памяти PHP
php_value memory_limit 256M
# Максимальный размер загружаемых файлов
php_value upload_max_filesize 64M
php_value post_max_size 64M
# Максимальное время выполнения скрипта
php_value max_execution_time 300
php_value max_input_time 300
После сохранения изменений проверьте работу сайта и убедитесь, что параметры применились, например, создав файл info.php с содержимым <?php phpinfo(); ?> и открыв его в браузере.
Важно: на некоторых хостингах использование php_value в .htaccess запрещено и приводит к ошибке 500. Если так, используйте другие способы из статьи.
Использование файла wp-config.php для изменения PHP настроек
В WordPress можно попробовать менять некоторые PHP параметры прямо из файла wp-config.php с помощью функции ini_set(). Это работает, если хостинг не ограничивает вызовы этой функции.
Добавьте в wp-config.php перед строкой /* That's all, stop editing! Happy blogging. */ следующий код:
ini_set('memory_limit', '256M');
ini_set('upload_max_filesize', '64M');
ini_set('post_max_size', '64M');
ini_set('max_execution_time', '300');
ini_set('max_input_time', '300');
Этот способ гибкий и часто помогает обойти ограничения без доступа к php.ini или .htaccess. Но помните, что некоторые хостеры блокируют эти вызовы.
Изменение PHP настроек через файл .user.ini
На современных серверах с PHP-FPM или FastCGI можно использовать файл .user.ini в корне сайта для задания локальных настроек PHP.
Создайте файл .user.ini и добавьте туда:
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_time = 300
После сохранения изменений подождите несколько минут (обычно 5-10), чтобы PHP применил настройки. Этот способ безопасен и не вызывает ошибок, распространён на shared и VPS хостингах.
Проверка текущих PHP параметров в WordPress
Для контроля используйте плагин Health Check & Troubleshooting или WP Server Info. Они покажут текущие значения PHP параметров.
Также можно создать файл phpinfo.php с кодом:
<?php
wpmax_phpinfo();
function wpmax_phpinfo() {
phpinfo();
}
?>
И открыть этот файл в браузере для визуального анализа всех настроек PHP.
Практический пример: увеличение лимита памяти и загрузки файлов
Допустим, на вашем сайте WordPress при попытке загрузить файл больше 8 Мб появляется ошибка. Проверьте текущие лимиты через phpinfo(). Если upload_max_filesize и post_max_size равны 8M, нужно увеличить их.
Добавьте в wp-config.php перед /* That's all, stop editing! Happy blogging. */:
ini_set('upload_max_filesize', '64M');
ini_set('post_max_size', '64M');
ini_set('memory_limit', '256M');
Если не поможет, создайте или отредактируйте .user.ini или .htaccess как описано выше.
Использование плагина Clearfy для управления PHP настройками
Если вы используете плагин Clearfy, то через него можно оптимизировать и некоторые настройки PHP. Плагин помогает отключать лишние функции и улучшать производительность, что косвенно снижает нагрузку, связанную с ограничениями PHP.
Однако для прямой смены PHP директив лучше использовать рассмотренные выше способы.
Резюме и советы по работе с PHP разрешениями без php.ini
- Первым делом попробуйте изменить настройки через
.htaccess, если сервер Apache и разрешены директивыphp_value. - Если не сработало, используйте
ini_set()вwp-config.php— это работает на большинстве хостингов. - Современный и безопасный способ — создать
.user.iniс нужными значениями. - Проверяйте текущие значения через
phpinfo()или плагины. - Если ничего не помогает, обратитесь к поддержке хостинга с просьбой увеличить лимиты.
Таким образом, даже без доступа к php.ini вы сможете гибко настроить PHP разрешения для WordPress и решить задачи с загрузкой файлов, лимитами памяти и временем выполнения скриптов.