Если вы один из многих, кто устанавливает WordPress через Fantastico, скорее всего, вы даже не знаете о существовании файла wp-config в WordPress. Файл wp-config.php - один из самых важных файлов в WordPress. Он содержит ключи к вашей базе данных, а также многие параметры конфигурации, о которых вы даже не подозревали, что сможете сделать с WordPress. Вот несколько уловок, которые вы можете заставить свой WordPress делать, отредактировав файл wp-config.
1. Настройки базы данных
define('DB_NAME','putyourdbnamehere');define('DB_USER','usernamehere');define('DB_PASSWORD','yourpasswordhere');define('DB_HOST','localhost');
Это первое, что вам нужно настроить для работы WordPress. В большинстве случаев вам нужно только изменить имя базы данных, имя пользователя и пароль. Для DB_HOST в большинстве случаев должен работать localhost. Если нет, обратитесь к администратору сервера за подробностями.
2. Изменение значения кодировки базы данных.
define('DB_CHARSET','utf8');
Вам не придется изменять это значение в 99% случаев. Измените это, только если вы абсолютно уверены, что ваша база данных использует другую кодировку.
3. Изменение порядка сортировки набора символов базы данных.
define('DB_COLLATE','');
Еще раз, меняйте это, только если вы знаете, что делаете. В противном случае лучше всего оставить поле пустым.
4. Ключи аутентификации.
define('AUTH_KEY','put your unique phrase here');define('SECURE_AUTH_KEY','put your unique phrase here');define('LOGGED_IN_KEY','put your unique phrase here');define('NONCE_KEY','put your unique phrase here');
Ключи аутентификации используются для обеспечения лучшего шифрования информации, хранящейся в файлах cookie пользователя. Перейдите на https://api.wordpress.org/secret-key/1.1/, чтобы сгенерировать новый набор ключей и скопировать / вставить их в файл wp-config.php.
Если вы используете WPMU, вы увидите три дополнительных набора ключей аутентификации:
define('AUTH_SALT','put your unique phrase here');define('LOGGED_IN_SALT','put your unique phrase here');define('SECURE_AUTH_SALT','put your unique phrase here');
5. Префикс таблицы
$table_prefix='wp_';
Эти настройки $ table_prefix позволяют изменить префикс wp_ по умолчанию перед установкой WordPress.
Примечание. Если в вашей существующей базе данных уже используется префикс wp_ по умолчанию, изменение этого значения не приведет к изменению значения базы данных, а также приведет к поломке вашего сайта. Чтобы изменить существующий префикс таблицы, обратитесь к этому руководству.
6. Языковой и языковой справочник
define('WPLANG','de_DE');define('LANGDIR','mylanguagedirectory');
Если вы используете файл языкового перевода для своего блога, здесь вы определяете язык, который вы используете, и расположение файлов перевода (.mo).
Определение LANGDIR необязательно. Если он не указан, WordPress сначала будет искать папку wp-content / languages , а затем wp-includes / languages для файла .mo.
7. Определение URL-адреса домашней страницы и сайта.
define('WP_SITEURL','http://your-site-url.com');define('WP_HOME','http://your-site-url.com');
SITEURL относится к фактическому пути установки WordPress (путь к файлу, в котором находятся файлы wordpress), а HOME относится к URL-адресу, к которому вы хотите, чтобы ваш посетитель получил доступ. Для этого есть несколько применений
- Для меры безопасности. Установите свой Wordpress в подпапку и пусть посетители получают к ним доступ из корневого каталога.
- Переход на новый URl. Когда вы переходите на новый URL-адрес, вы можете легко восстановить свою базу данных, указав WP_SITEURL и WP_HOME на новый URL-адрес. Редактирование базы данных не требуется.
8. Количество ревизий
define('WP_POST_REVISIONS',FALSE);define('WP_POST_REVISIONS',3);
Измените количество ревизий записи, которые WordPress будет записывать. Присвоение ему значения FALSE (без кавычек) отключит редактирование публикации.
9. Измените интервал автосохранения.
define('AUTOSAVE_INTERVAL',160);
При редактировании сообщения WordPress использует Ajax для автоматического сохранения изменений в публикации во время редактирования. Вы можете увеличить этот параметр, чтобы увеличить задержки между автосохранениями, или уменьшить его, чтобы не потерять изменения. По умолчанию 60 секунд.
10. Определите новое местоположение wp-content.
define('WP_CONTENT_DIR',$_SERVER['DOCUMENT_ROOT'].'/blog/wp-content');define('WP_CONTENT_URL','http://example/blog/wp-content');define('WP_PLUGIN_DIR',$_SERVER['DOCUMENT_ROOT'].'/blog/wp-content/plugins');define('WP_PLUGIN_URL','http://example/blog/wp-content/plugins');
Начиная с WP2.6, вам разрешено перемещать папку wp-content в другое место назначения и при этом заставить ее работать. Вам просто нужно указать путь к новому местоположению в файле wp-config.
11. Доступ к внешним файлам конфигурации.
require_once(‘FilePathToConfigurationFiles’);
Для разработчика, если вам нужно получить доступ к внешнему файлу конфигурации из WordPress, место для его определения будет в wp-config.php. Это полезно при интеграции другого программного обеспечения с WordPress. Например, чтобы интегрировать bbpress с WordPress, добавьте следующее
require_once(‘filepathtoforums/bb-load.php');
для доступа к функциям bbpress в WordPress.
12. Управление вашими файлами cookie
define('COOKIE_DOMAIN','.yoursite.com');define('COOKIEPATH',preg_replace('|https?://[^/]+|i','', get_option('home').'/'));define('SITECOOKIEPATH',preg_replace('|https?://[^/]+|i','', get_option('siteurl').'/'));define('ADMIN_COOKIE_PATH', SITECOOKIEPATH .'wp-admin');define('PLUGINS_COOKIE_PATH',preg_replace('|https?://[^/]+|i','', WP_PLUGIN_URL));
Определение cookie предназначено для сайтов с необычной настройкой домена. Если вы используете субдомены для обслуживания статического контента, вам не нужно, чтобы WordPress отслеживал файлы cookie для статических сайтов. Просто определите параметр COOKIE_DOMAIN, чтобы ограничить домен, отслеживаемый файлом cookie.
13. Отладка
define('WP_DEBUG',true);
Параметр WP_DEBUG особенно полезен при разработке сайта WP. Это позволяет увидеть, что пошло не так в коде. На реальном производственном сайте эту опцию следует отключить (FALSE), так как это может повлиять на производительность сайта.
Кроме того, если вы планируете модифицировать часть встроенного JavaScript в WordPress, вы можете включить следующую опцию:
define('SCRIPT_DEBUG',true);
Это позволит вам редактировать файлы scriptname.dev.js в каталогах wp-includes / js и wp-admin / js.
14. Настройте журнал ошибок.
@ini_set('log_errors','On');@ini_set('display_errors','Off');@ini_set('error_log','/home/example.com/logs/php_error.log');
Эта опция позволяет вам включить ведение журнала ошибок php и записывать их в определенный файл. Это особенно полезно для тех, у кого нет доступа к файлу php.ini.
15. Увеличение памяти, выделенной PHP.
define('WP_MEMORY_LIMIT','64M');
Укажите максимальный объем памяти, который может использовать PHP. Эта настройка может потребоваться в случае, если вы получите сообщение, такое как "Допустимый размер памяти xxxxxx байт исчерпан".
16. Кэш
define('WP_CACHE',true);
Активируйте WP_CACHE для повышения производительности сайта.
17. Пользовательские таблицы User и Usermeta
define('CUSTOM_USER_TABLE',$table_prefix.'my_users');define('CUSTOM_USER_META_TABLE',$table_prefix.'my_usermeta');
Сохраните данные пользователя в другую таблицу вместо wp_users по умолчанию.
18. Сохраните запросы для анализа.
define('SAVEQUERIES',true);
Опция SAVEQUERIES позволяет вам видеть все запросы, сделанные к базе данных. Затем вы можете проанализировать эти запросы и увидеть функцию, которая их вызвала, и сколько времени потребовалось для выполнения этого запроса.
ПРИМЕЧАНИЕ. Это повлияет на производительность вашего сайта, поэтому обязательно отключите этот параметр, когда не занимаетесь отладкой.
Чтобы просмотреть запросы, поместите следующий код в нижний колонтитул своей темы:
php
if (current_user_can (‘level_10’)) {
global $ wpdb;
echo "
”;”;
print_r($wpdb->queries);
echo “
}
?>
В приведенном выше коде используется возможность level_10, поэтому результаты запроса увидит только администратор.
19. Отмена разрешений для файлов по умолчанию
define('FS_CHMOD_DIR',(0755& ~ umask()));define('FS_CHMOD_FILE',(0644& ~ umask()));
Два указанных выше параметра позволяют переопределить разрешения для файлов по умолчанию. В большинстве случаев вам не нужно определять это. Однако, если ваш веб-хостинг использует ограничительные разрешения для всех пользовательских файлов, то это способ обойти это.
20. Константы FTP / SSH
define('FS_METHOD','ftpext');define('FTP_BASE','/path/to/wordpress/');define('FTP_CONTENT_DIR','/path/to/wordpress/wp-content/');define('FTP_PLUGIN_DIR ','/path/to/wordpress/wp-content/plugins/');define('FTP_PUBKEY','/home/username/.ssh/id_rsa.pub');define('FTP_PRIKEY','/home/username/.ssh/id_rsa');define('FTP_USER','username');define('FTP_PASS','password');define('FTP_HOST','ftp.example.org:21');
WordPress позволяет обновлять базовую версию и плагины изнутри серверной части. Однако некоторые из вас могут не воспользоваться преимуществами из-за проблем с FTP-соединением. Просто обновите файл wp-config, указав необходимые учетные данные FTP, и ваша функция обновления WP должна работать нормально.
21. Контроль доступа к прокси-серверу
define('WP_HTTP_BLOCK_EXTERNAL',false);define('WP_ACCESSIBLE_HOSTS','api.wordpress.org');
Вышеуказанные параметры позволяют получить доступ к внешним хостам из вашего домена. Это полезно, если вы находитесь в среде с ограничениями (например, во внутренней сети вашей компании) и вам нужен доступ к внешнему хосту.
Защита файла wp-config
При таком большом количестве информации в файле wp-config.php последнее, что вам нужно, - это чтобы хакер увидел ваш файл wp-config и получил доступ к вашей базе данных.
Добавьте следующий код в свой файл .htaccess, чтобы предотвратить доступ хакеров к вашему файлу wp-config.
# protect wpconfig.phpfiles wp-config.php>order allow,denydeny from allfiles>
Я что-то упустил? Оставь это в комментариях
3 комментария
Комментарии закрыты.
Это здорово! У меня есть один вопрос.
Можете ли вы отредактировать этот файл для хранения пользовательских файлов cookie для их следующего "входа в систему"? Я разрабатываю тему, которая использует пользовательский интерфейс, позволяющий настраивать домашнюю страницу. Я хотел бы сохранить "куки" в sql пользователей, чтобы при следующем входе в систему их страница была такой же, как при последнем входе в систему.
Любые идеи?
Спасибо,
ягвист
Насколько я знаю, файл wp-config предназначен для всего, что связано с серверной частью. Я не думаю, что вы можете использовать его для хранения файлов cookie на компьютере пользователя. Вы можете сделать это внутри самой темы, в header.php, рядом с началом html-кода.
Отличный пост, хорошие открытия, которые нужно знать. Спасибо.