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 выключен.

