wp-config.php

Коротко

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

Что такое «wp-config.php»

Файл подключается при каждом запросе раньше всего остального кода, поэтому то, что в нём задано, действует на ядро, тему и все плагины. В дистрибутиве его нет — есть образец wp-config-sample.php, а настоящий файл создаёт установщик или администратор. Изменить эти параметры из админки нельзя: только правкой файла на сервере.

Что внутри

define( 'DB_NAME', 'site_db' );
define( 'DB_USER', 'site_user' );
define( 'DB_PASSWORD', '…' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
$table_prefix = 'wp_';

define( 'WP_DEBUG', false );
define( 'DISALLOW_FILE_EDIT', true ); // убрать редактор файлов из админки
define( 'WP_POST_REVISIONS', 10 );    // хранить не больше 10 ревизий

Ещё здесь восемь ключей и «солей» — AUTH_KEY, NONCE_KEY и другие. Они нужны для подписи cookie авторизации и защитных токенов. Новые значения выдаёт генератор на api.wordpress.org; после их замены все пользователи будут разлогинены, что полезно после взлома. Из полезных констант: WP_ENVIRONMENT_TYPE отмечает копию как локальную, тестовую или боевую, а DISABLE_WP_CRON отключает встроенный запуск WP-Cron.

Свои константы пишут выше строки с комментарием «That's all, stop editing!» — после неё подключается ядро, и поздние определения уже не подействуют.

Безопасность файла

В файле лежит пароль от базы, поэтому его защищают:

  • ставят строгие права доступа, например 640 или 600, чтобы его не прочитали другие пользователи сервера;
  • при желании переносят на уровень выше корня сайта — WordPress найдёт его там сам;
  • не оставляют копии вроде wp-config.php.bak или wp-config.old: сервер отдаст их как обычный текст, вместе с паролем.

Типичные ошибки при правке

Сохранение в UTF-8 с BOM — невидимые байты в начале выводятся раньше заголовков, и появляется предупреждение «headers already sent». Пропущенная точка с запятой или кавычка даёт белый экран на всём сайте. Включённый на боевом сайте WP_DEBUG с выводом на экран показывает посетителям пути к файлам. Правильнее писать ошибки в журнал: WP_DEBUG_LOG включён, WP_DEBUG_DISPLAY выключен.

Обновлено:

Все термины раздела «WordPress»

Что будем искать? Например,Продвижение