Трюки в wp config php, которые ты может и не знал
Привет дорогой друг! И я продолжаю серию статей по внутренней оптимизации WordPress и сегодня я расскажу вам некоторые трюки которые вы может быть и не знаете в файле Wp-config.php, но перед тем как узнать все фишки этого сайта подпишись на мою Rss-ку, так сказать поблагодари меня за крапотливый труд;)
Если function.php являеться единственным наиболее важным файлом в вашей теме wordpress, то wp-config.php один из самых важных файлов вашего движка wordpress. Этот файл можно использовать для настройки функциональных возможностей базы данных, повышения производительности и улучшения безопасности блога. В этой статье я поделюсь с вами самыми полезными трюками с этим файлом.
По умолчанию в wordpress установку не входит файл wp-config.php. При установке по умолчанию поставляется образец файла wp-config-sample.php. Большинство пользователей никогда не настраивают wp-config.php вручную, потому что wordpress позволяет делать это автоматически при установке и настройке блога. Сначала я вам покажу какие настройки вам позволяет сделать wordpress по умолчанию.
Когда вы загружаете движок wordpress к себе на хостинг через FTP и начинаете его устанавливать, то вы видите эту надпись:
Установщик говорит вам, что не найден wp-config.php и он необходим для старта блога. И предлагает вам создать файл конфигурации с последующим шагом:
Затем вы вводите ключевую информацию. Подключаете к блогу базу данных. Всё что вы ведете, занесется в настройки WP-config.php как:
define('DB_NAME', 'database-name'); define('DB_USER', 'database-username'); define('DB_PASSWORD', 'database-password'); define('DB_HOST', 'localhost'); |
Один из самых крутых трюков в WP-config.php был опубликован в WordPress Codex, это способность автоматически обнаруживать сервер базы данных.
DEFINE ('DB_HOST', $ _ENV {DATABASE_SERVER}); |
Безопасные ключи (Security keys)
Security keys в wordpress представляют собой набор случайных величин, которые улучшают шифрование информации хранящийся в куках пользователя. До wordpress 3.0 нужно было устанавливать это вручную в wp-config.php. А вот в wordpress 3.0 и выше Security keys автоматически добавляются в wp-config.php при установке, а так же в предыдущих версиях было всего 4 ключа безопасности, но в 3.0 уже стало 8.
Security keys добавляются в wp-config.php вот таким кодом:
DEFINE ('auth_key', 'разместить уникальную фразу здесь'); DEFINE ('SECURE_AUTH_KEY', 'разместить уникальную фразу здесь'); DEFINE ('LOGGED_IN_KEY', 'разместить уникальную фразу здесь'); DEFINE ('NONCE_KEY' "разместить здесь уникальную фразу '); DEFINE ('AUTH_SALT', 'разместить уникальную фразу здесь'); DEFINE ('SECURE_AUTH_SALT', 'разместить уникальную фразу здесь'); DEFINE ('LOGGED_IN_SALT »,« положить ваши уникальные фраза здесь '); DEFINE ('NONCE_SALT', 'разместить уникальную фразу здесь'); |
Если вам нужны уникальные ключи, то вы можете получить их перейдя по этой ссылки .
Префикс базы данных
Когда вы устанавливаете WordPress с помощью мастера установки, то вам будет необходимо выбрать префикс таблицы. Что хранится в wp-config.php файл как:
$ Table_prefix = 'wp_'; |
Я рекомендую использовать нечто иное, чем wp_, дабы усложнить работу хакерам. Однако если у вас уже установлен wordpress, то не просто будет изменить префикс.
Язык конфигурации
По умолчанию, английский является локализованным языком WordPress, но он может быть изменен на любой друг язык
DEFINE ('WPLANG',''); DEFINE ('LANGDIR',''); |
Языковой файл перевода (.мо) должен быть помещён по умолчанию в папку, которая должна быть по адресу wp-content/language, а затем wp-include/language. Но исходя из функции выше вы можете определить свой собственный каталог.
Отладка wordpress
WordPress имеет удивительную особенность отладки, которая позволяет находить ошибки и устаревшие функции. По умолчанию эта функция отключена, но её можно активизировать.
define(‘WP_DEBUG’, false); // отключить режим отладки по умолчанию define(‘WP_DEBUG’, true); // включить режим отладки |
Адрес сайта
Добавив следующие строки в свой wp-config вы уменьшите количество запросов к базе данных, за счёт того что склеите адрес главной страницы и url сайта и таким образом увеличите скорость загрузки вашего блога.
DEFINE ('WP_HOME', 'http://jonyit.ru); DEFINE ('WP_SITEURL', 'http://jonyit.ru); |
Права доступа к файлам
Вы можете изменить права доступа к файлам, если ваша машина имеет ограниченные права для всех пользовательских файлов. Большинству из вас это не нужно, но команда существует для тех, кто в ней нуждается.
DEFINE ('FS_CHMOD_FILE', 0755); DEFINE ('FS_CHMOD_DIR', 0644); |
Сообщение Пересмотры
В последних версиях wordpress появилась удивительная функция auto-save. Она автоматически сохраняет ваш пост если вы его ещё не закончили писать, к примеру у вас завис браузер или вы случайно закрыли его или вырубили свет. Так же она позволяет восстанавливать предыдущие версии постов, мало ли что вы в них писали. Многие из нас обожают эту функцию, но некоторые просто ненавидят её. Функция auto-save имеет множество конфигурации, так что вы можете натсроить е под себя.
Auto-Save Configuration
По умолчанию WordPress сохраняет сообщения каждые 60 секунд, но если вы думаете, что это слишком много, то вы можете изменить его, по вашему желанию:
DEFINE ('AUTOSAVE_INTERVAL', 120); / / в секундах |
По умолчанию wordpress будет сохранять копии каждого сохраненного поста и внесённые изменения после редактирования, позволяя возможность возврата к предыдущей версии этого поста или страницы. Хочу отметить, что чем больше автосохранения, тем медленней работает ваш блог. Если вы хотите их отключить, то вам понадобиться следующий код:
DEFINE ('WP_POST_REVISIONS, false); |
Корзина в WordPress (Trash)
Начиная с версии 2.9 в ядро была добавлена новая функция Корзина “Trash”. Она предназначена для того чтобы не удалять навсегда не дописанные или случайно удалённые посты. Плохая сторона этой функции заключается в том что мы должны чистить корзину регулярно так как мусор восстанавливается из корзины каждые 30 дней. Вы можете изменить это значения используя следующую функцию:
DEFINE ('EMPTY_TRASH_DAYS', 7); / / целое количество дней Если вам не нравится эта функция, то ее можно отключить: DEFINE ('EMPTY_TRASH_DAYS', 0); |
Но помните, если вы держите значение 0, то WordPress не будет запрашивать подтверждение при нажатии на кнопку “Удалить навсегда”. Любой случайное нажатие может стоить вам поста.
Авто оптимизация базы данных
В WordPress 2.9, была добавлена функция, которая называется Automatic Database Optimization. Чтобы включить эту функцию, вы должны вставить следующий код в wp-config.php:
DEFINE ('WP_ALLOW_REPAIR, правда); |
После активации, вы можете увидеть настройки на этой странице:
http://www.yoursite.com/wp-admin/maint/repair.php |
Вход в админку не обязателен для того чтобы получить доступ к этой страницы, когда установлена эта функция. Потому что её основной целью являеться восстановление поврежденной базы данных. Поэтому как только вы закончите оптимизацию своей базы данных, удалите эту функцию в своём wp-config.php
WordPress Error Log
Блогеру полезно иметь журнал ошибок. Так вы сможете узнавать причину поломки или глюка блога. Сначала создайте файл с названием “php_error.log” и поместить его в каталог по выбору. Затем изменить путь в третьей строке следующего кода:
@ini_set('log_errors','On'); @ini_set('display_errors','Off'); @ini_set('error_log','/home/path/domain/logs/php_error.log'); |
Custom User / UserMeta Таблицы
По умолчанию WordPress сохраняет все пользовательские данные в таблицах wp_users и wp_usermeta. При использовании функции ниже, вы можете указать таблицу, где Вы хотите, чтобы wordpress хранил ваши данные .
DEFINE ('CUSTOM_USER_TABLE', $ table_prefix 'my_users.); DEFINE ('CUSTOM_USER_META_TABLE', $ table_prefix 'my_usermeta.); |
Включить WPMU
WPMU вошла в ядро wordpress. Для включения многопользовательского режима wordpress, вам необходимо вставить следующий код:
DEFINE ('WP_ALLOW_MULTISITE, true); |
После добавления этого кода у вас появиться новая страницы в вашем wp-admin которая называется “Сеть” (network) расположенная в инструментах.
Обеспечение безопасности файлу WP-config.php
Как вы видите файл WP-config.php очень важный и поэтому он нуждается в дополнительно безопасности. По умолчанию он находиться в корневой папке WordPress, но вы можете его переместить. Он может быть перемещён за пределы public_html каталога, поэтому пользователи не смогут получить к нему доступ. WordPress умеет по умолчанию искать этот файл в других каталогах, если файлы не найдены в корневой папке wordpress. Вы так же можете использовать .Htacces файл, чтобы ограничить доступ к этому файлу
Добавьте следующий код:
# protect wpconfig.php order allow,deny deny from all |
P.S.
Ну вот и всё дорогой друг. Если вдруг у тебя есть свои советы, фишки или трюки с файлом wp-config.php, то рассказывай их в комментариях и я добавлю их в пост с ссылкой на твой блог в знак благодарности;)
Не забудь подписаться на мою Rss-ку, а то пропустите следующую мою статью “Как вывести популярные статьи с миниатюрой“, а так же продолжить настройку блога и начать с настройки wp-login.php.
Вообще то лазить в конфиг довольно таки опасно.
а ты сохрани резерв и лазей на здоровье)
Антон,
>а ты сохрани резерв
при сохранении резерва сохраняются
данные сайта и базы данных ?
Вопросы, если позволите ;-))
1.Какие плагины лучше использовать
для резервного копирования.
2. Как восстанавливать копию на тот же сайт.
3. Как восстанавливать копию на другой сайт,
какие параметры надо перенастроить.
Успехов и здоровья ;-))
Хорошая и полезная статья! Много че не знал) Буду ковыряться)
Я же говорил есть что почитать полезного)
Не знада про корзину, что мусор восстанавливается. спасибо за информацию.
Зачем ограничивать доступ в htaccess к WP-config.php?
Интересная статья.
Вот вы говорите добавить следующий код:
# protect wpconfig.php
order allow,deny
deny from all
А куда добавить так и не сказали? В .htaccess или wp-config.php ?
Прошу прощения если я что то недоходчиво объяснил!
в .htaccess конечно же.
Подписывана Rss
А обязательно при этом перемещать файл wp-config.php из корня в другое место?
его перемещать вообще не стоит )
Цитата из вашей статьи:
“Как вы видите файл WP-config.php очень важный и поэтому он нуждается в дополнительно безопасности. По умолчанию он находиться в корневой папке WordPress, но вы можете его переместить. Он может быть перемещён за пределы public_html каталога, поэтому пользователи не смогут получить к нему доступ. WordPress умеет по умолчанию искать этот файл в других каталогах, если файлы не найдены в корневой папке wordpress. Вы так же можете использовать .Htacces файл, чтобы ограничить доступ к этому файлу”
И потом вы мне отвечаете “его перемещать вообще не стоит )”
Так вы определитесь в мыслях в своём “блоге” или мне навсегда забыть о вас как о некомпетентном дилетанте?
Требую развёрнутый ответ, что, куда, зачем и почему!
Если у вас бешеная посещаемость и вы боитесь что ваш блог взломают, то можете его перенести. Даже если вас и взломают, доступ к ftp у вас всегда есть, так что это не так страшно.
Можете считать меня некомпетентным дилетантом, я не против;)
всё с вами понятно =)))
Антон,
>Требую развёрнутый ответ, что,
>куда, зачем и почему!
для таких конкретных посетителей,
рекомендуется сделать приватный доступ,
за чисто символическую денежку в у.е.
обеспечить им первоочередную поддержку
в режиме он-лайн ;-))
Спасибо.Даже и не представляла,что в config.php прописано столько возможностей.Корзину и автосохранение ревизий отключила)
А вот фишка про включение WPMU – я про нее даже не знал. Спасибо.
А я то думал, что неправильно настроил WP, что у меня из корзины все через 30 дней назад лезет =)
Ни чего себе!) А я то думал что все знаю.
Спасибо)
еррор логи кроме средств апача не словить?
Я считаю не словить!
WPMU вошла в ядро wordpress. Для включения многопользовательского режима wordpress, вам необходимо вставить следующий код:
1
DEFINE (‘WP_ALLOW_MULTISITE, true); В каком месте вставляем??? Ну не все соображают в PHP прописании, неужели такие нужные темы, и нельзя прописать от и до .
Вписываем практически в конце.
В конце увидите следующее:
define(‘WP_DEBUG’, false);
define(‘AUTOSAVE_INTERVAL’, 500 ); // seconds
define(‘WP_POST_REVISIONS’, false );
сюда же добавьте желаемый код
DEFINE (‘WP_ALLOW_MULTISITE, true)
jonyit А вот тут уже и пять баллов поставить не грех! Я имею в виду оперативность с ответом на комментарий.
Cразу по ходу – искали подсказку по вопросу:
куда вставить код define(‘FS_METHOD’, ‘direct’); при внесении корректировок в файле wp_config.php WordPress.
Если контакт будет налажен, подпишусь, так как темы нужные. Всё лишь за обьяснениями, где будет непонятно! С уважением Александр.
Все define функции прописываются в конце wp-config.php. Но на самом деле это не принципиально, можно хоть в начале, просто разработчики рассортировали по порядку загрузки необходимых функций.
Подписывайтесь, рад буду служить)
Повторился приход темы по новой, думаю пора задать вопрос. jonyit ! Я безуспешно пробовал найти нечто подобное по следующему: При установке фото (картинки) в тему с начала обработки выкидывает в окно входа в W.P. админ. Ввожу пользователя, пароль и попадаю на вопрос “Повторить попытку” после снова в “обзор” и тогда загружает.
2. Пишу пост. Начинает ни с чего при переходах на обновление скидывать написанный текст. И это при переключении с “HTML” или “визуально” – без разницы.Вот хотел услышать мнение спеца, так как ничего подобного найти в И-нете (пока) не смог. С уважением Александр.
В первом варианте не совсем понял что вы хотели сделать, а во втором я советую вам протестировать блог на других браузерах это раз, а два проверить сайт на вирусы с помощью онлайн сервисов. У меня была подобная проблема на одном моём сателите. Оказался вирус(
jonyit! Спасибо за подсказку – попробую со вторым, а уж после и с первым. Успехов, Александр.
Рад служить)
Огромное СПАСИБО! Поменял -включил “Отладка wordpress”А где я могу увидеть изменения или результаты этой отладки?
Подскажите, пожалуйста, можно ли в WP сделать страницы с окончанием .php? Если можно, то как это сделать?
Заранее спасибо!
Не пробовал, но я думаю можно.
А с какой целью так делатЬ?
поисковой трафик от этого не увеличиться
Лариса, это сделать достаточно просто с одним небольшим “Но”.
Наиболее благоприятный для подобных изменений вариант – это новый сайт на базе wordpress. Все дело в том, что если уже много постов написано, то вненсение описанных ниже изменений может затронуть уже опубликованные записи, что в свою очередь приведет к ошибке и недоступности последних по старым адресам. Для исправления – придется возиться с правилами редиректа в уже небезъизвестном нам файле .htaccess . Это – что касается “Но”.
!!! Перед тем, как вы начнете что-то делать, пожалуйста, прочитайте до конца!!!
Однако, предположим, что сайт новый – постов мало – а значит мелкие огрехи (постоянные ссылки) лего поправляемы: можно зайти в каждый из них (опубликованных постов) и исправить вручную в случае необходимости.
Заходим в админку WordPress. Идем в меню “ПАРАМЕТРЫ” (не знаю, руссифицирована у вас админка или нет – я буду писать для русской версии). Далее ищем подменю “Постоянные Ссылки” (Permalinks). Ставим чекпоинт рядом с пунктом “Произвольно:” (Custom) и вписываем в поле рядом примерно следующую конструкцию:
/%postname%.php
Написать нужно как показано выше (в начале – да, есть слеш и никаких пробелов НИ ДО, НИ ПОСЛЕ)
В этом случаем все НОВЫЕ посты на вашем сайте будут иметь окончание “.php”. Например новая статья под названием “Вокруг света” будет выглядеть так: ваш_сайт.ru/vokrug-sveta.php
Естественно, что можно поиграться и с др. структурой адреса. На то она и ручная настройка. Я например на своем сайте использую несколько др. структуру – у меня в адресе фигурирует еще и название раздела. Но тут уж на вкус и цвет как говорится…
И, еще одно. Чтобы избежать в данном случае в адресе сайта кириллицы лучше использовать плагин rus-to-lat – он заменяет русские символы на латиницу.
Или как варинант использовать иной способ формирования постоянных ссылок. Я имею в виду способ, который не основан на названии поста.
Удачных экспериментов! :))
Ого, реально трюки, я даже не в курсе был, Спасибо Антон:)
вах, интересные фишки. Не знал, не знал
бред – DEFINE (‘WP_ALLOW_REPAIR, правда);
исправьте
Интересно. Что то уже есть, а что то не мешает попробовать.. 8)
Интересные факты.Но я про них не слышала раньше.
Лишнее ставить, блог грузить.Не стоит.
Антон,
спасибо за отличную статью, она не только познавательная, но и содержит много полезного.
Для меня один вопрос, вот внесли все эти изменения на блог, как обновлять WP до новой версии. Ручками ? Или есть возможность как-то сохранять настройки и экспортировать в обновленный блог.
Юрий
Juri, постоянно обновляю свой блог и настройки сделанные мной ранее не пропадают
Антон, смотрю, что вы очень оперативно отвечаете на вопросы своих читателей. Вот и я сегодня решила “подправить” свой файлик WP-config после чего благополучно потеряла доступ к сайту. Не хочу пока хостеров трогать, может быть можно что-то сделать и вернуть его?
Елена, скачайте дистрибутив wordpress, вытащите стандартный WP-config и настройте в нём доступ к базе данных. Далее залейте его на хостинг и сайт снова заработает
Про перемещение файла не знал, нужно будет попробовать. Спасибо.
Очень хорощая статья, с фишками о которых я не знал. Посмотрю и настрою wp config. А как отразится на работе блога наличие папок:
wp-config-sample.php
wp-config.WPTunerOrig.php
wp-config.php
Может это отразится на нагрузку хостинга?
Спасибо
Анатолий, нет, это ни как не отразиться на нагрузки вашего хостинга.
Здравствуйте, у Вас в некоторых кодах знак “‘” осутствует.