Файл wp-config.php позволяет повысить производительность и безопасность установки, а также настроить некоторые дополнительные аспекты работы CMS.
URL сайта и WordPress URL
Значения сайта и URL-адреса установки обычно записываются в таблицу wp_options базы данных. Если они введены в файл wp-config.php, две константы WP_SITEURL, и WP_HOME имеют приоритет над параметрами в базе данных. Они объявлены следующим образом:
define( 'WP_SITEURL', 'http://example.com/wordpress' ); define( 'WP_HOME', 'http://example.com' );
Назначенная часть протокола (http:// https://) всегда должна быть включена в назначенные значения, и заключительный слеш никогда не должен быть добавлен.
Переместить подпапки установки
Константы WP_CONTENT_DIR и WP_CONTENT_URL позволяют перемещать каталог /wp-content, в котором размещается содержимое сайта, из корневого каталога установки в подкаталог. Первый принимает значение локального пути к каталогу /wp-content, а второй принимает значение URL:
define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/sait/wp-content' ); define( 'WP_CONTENT_URL', 'http://example.com/sait/wp-content' );
Чтобы избежать ошибок загрузки ресурсов, при перемещении каталога /wp-content всегда должны быть объявлены обе константы. Также возможно перемещать только каталог плагинов благодаря константам WP_PLUGIN_DIR и WP_PLUGIN_URL:
define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/sait/wp-content/hidden/plugins' ); define( 'WP_PLUGIN_URL', 'http://example.com/sait/wp-content/hidden/plugins' );
Таким же образом папку, в которую загружаются мультимедийные файлы, можно перемещать с константой UPLOADS:
define( ‘UPLOADS’, ‘sait/wp-content/hidden/uploads’ );
Другие расширенные настройки
Другие настройки позволяют изменить интервал автоматического сохранения сообщений в секундах:
define( 'AUTOSAVE_INTERVAL', 60 );
В, wp-config.php вы также можете установить максимальное количество пост-ревизий или отключить их:
define('WP_POST_REVISIONS', 5 ); define('WP_POST_REVISIONS', false );
Чтобы запретить WordPress отправлять файлы cookie для каждого запроса статического содержимого, можно установить домен cookie только для нестатического содержимого:
define('COOKIE_DOMAIN', 'www.example.com' );
Константа WP_ALLOW_MULTISITE активирует многосайтовый функционал:
define('WP_ALLOW_MULTISITE', true );
Режим отладки
В интересах разработчиков файл wp-config.php позволяет вам перевести сайт в режим отладки, присвоив true константе WP_DEBUG:
define('WP_DEBUG', true );
В режиме отладки WordPress обнаруживает ошибки выполнения, предупреждения и заметки PHP, любые внутренние несовместимости и устаревшие функции в скриптах. По этой причине всегда рекомендуется активировать режим отладки в разработке, особенно когда вы планируете публиковать темы и плагины. Чтобы избежать отображения сообщений об ошибках или неожиданных уведомлений посетителям, рекомендуется отключить режим отладки, когда сайт запускается в работу.
Кроме того, WP_DEBUG доступны константы, даже если они отсутствуют в исходном файле :
define('WP_DEBUG_LOG', true ); define('WP_DEBUG_DISPLAY', false ); @ini_set('display_errors', 0 ); define('SCRIPT_DEBUG', true );
параметр | Описание |
---|---|
WP_DEBUG_LOG | Включите сохранение всех сообщений об ошибках в файле, debug.log расположенном в каталоге /wp-content. Активация этой функции позволяет просматривать сообщения об ошибках, появляющиеся за пределами видимого экрана, например, во время запроса AJAX или перенаправления WordPress. Функциональность может быть активирована, только если она WP_DEBUG установлена в true. |
WP_DEBUG_DISPLAY | Определяет, отображать или нет сообщения об ошибках. Если они используются вместе с WP_DEBUG_LOG сообщениями об ошибках, они могут быть сохранены в debug.log без вывода на экран. |
SCRIPT_DEBUG | Заставьте WordPress использовать не минимизированную версию скриптов и таблиц стилей. |
Другая полезная константа для отладки SAVEQUERIES:
define('SAVEQUERIES', true );
Устанавливая его значение в true, запросы сохраняются в массиве, доступном глобальным $wpdb->queries. После сохранения запросов вы можете просмотреть их с помощью следующего кода:
<?php if ( current_user_can( 'administrator' ) ) { global $wpdb; echo "<pre>"; print_r( $wpdb->queries ); echo "</pre>"; } ?>
Другие дополнительные функции
Константа WP_MEMORY_LIMIT позволяет изменить объем памяти, потребляемый PHP. Может возникнуть необходимость увеличить значение при получении такого сообщения об ошибке “Allowed memory size of YYY bytes exhausted”. Значение по умолчанию для обычной установки составляет 40 МБ (64 МБ для многоузловой установки). Когда 40Mb недостаточно, просто назначьте новое значение константе:
define('WP_MEMORY_LIMIT', '96M');
Этот параметр может не иметь эффекта, если хост не позволяет больше памяти.
В панели администрирования используется больше памяти. Также этот уровень можно изменить, благодаря константе WP_MAX_MEMORY_LIMIT, значение по умолчанию которой составляет 256 Мб:
define('WP_MAX_MEMORY_LIMIT', '512M' );
Однако объем выделенной памяти wp-config.php не может превышать настройки PHP сервера.
Наконец, один параметр, который влияет на производительность сайта, — это активация кэша:
define('WP_CACHE', true );
Все константы, проанализированные в этих двух главах, посвященных файлу конфигурации, всегда должны быть объявлены перед комментарием:
/* Все, больше редактировать ничего не надо! Счастливых публикаций. */
То есть перед загрузкой wp-settings.php.
Если сайт уже работает, перед изменением wp-config.php всегда рекомендуется сделать резервную копию всей установки.