Темы
- Настройка параметров базы данных
- Стандартный wp-config-sample.php
- Изменение имени базы данных
- Изменение пользователя базы данных
- Изменение пароля базы данных
- Изменение хоста базы данных
- Альтернативный порт MySQL
- Сокеты или конвееры MySQL
- Возможные значения DB_HOST
- Кодировка базы
- Сопоставление базы данных
- Ключи безопасности
- Стандартный wp-config-sample.php
- Расширенные настройки
- table_prefix
- WP_SITEURL
- Адрес сайта (URL)
- Перемещение каталога wp-content
- Перемещение каталога плагинов
- Перемещение каталога тем
- Перемещение каталога загрузок
- Изменить интервал автосохранения
- Редакции записей
- Отключить редакции записей
- Укажите количество редакций записи
- Установить домен для cookie
- Установка сети (Мультисайт)
- Редирект несуществующих блогов
- WP_DISABLE_FATAL_ERROR_HANDLER
- WP_DEBUG
- SCRIPT_DEBUG
- Отключить объединение Javascript
- Настройка журналирования ошибок
- Увеличение памяти, выделенной PHP
- Кэш
- Настраиваемые таблицы User и Usermeta
- Язык и папка языковых файлов
- WordPress v3.9.6 и ниже
- Сохранение запросов SQL для анализа
- Отмена разрешений для файлов по умолчанию
- Константы обновления WordPress
- Включение доступа к обновлению по SSH
- Альтернативный Cron
- Отключить Cron и Cron Timeout
- Дополнительные определяемые константы
- Очистить корзину
- Автоматическая оптимизация базы данных
- DO_NOT_UPGRADE_GLOBAL_TABLES
- Просмотр всех определенных констант
- Отключение редактора плагинов и тем
- Отключить обновление и установку плагинов и тем
- Требовать SSL для администратора и входа в систему
- Блокировать внешние URL-запросы
- Отключить автообновления WordPress
- Отключить обновления ядра WordPress
- Очистка при редактировании изображений
- Дважды проверьте перед сохранением
Один из самых важных файлов в вашей установке WordPress — это файл wp-config.php. Этот файл находится в корневом каталоге вашего WordPress (или на 1 уровень выше, в некоторых случаях) и содержит основные данные конфигурации вашего веб-сайта, например информацию о подключении к базе данных.
Когда вы впервые загружаете архив WordPress, файл wp-config.php в нём отсутствует. В процессе установки WordPress будет создан файл wp-config.php на основе предоставленной вами информации.
Вы можете вручную создать файл wp-config.php, найдя образец файла с именем wp-config-sample.php (расположенный в корневом каталоге установки), отредактировав его по мере необходимости, а затем сохранив как wp-config.php.
Внимание: содержимое файла wp-config-sample.php находится в строго определенном порядке. Порядок имеет значение. Если у вас уже есть файл wp-config.php, изменение его содержимого может привести к ошибкам в вашем блоге.
Чтобы изменить файл wp-config.php для вашей установки, вам понадобится следующая информация:
- Database Name – Имя базы данных, используемое WordPress
- Database Username – Имя пользователя, используемое для доступа к базе данных
- Database Password – Пароль, используемый именем пользователя для доступа к базе данных
- Database Host – Адрес хоста вашего сервера базы данных. Также может потребоваться номер порта, путь к файлу сокета Unix или конвееру.
Если ваш хостинг-провайдер установил для вас WordPress, получите информацию от него. Если вы управляете своим собственным веб-сервером или учетной записью хостинга, эта информация будет у вас в результате создания базы данных и пользователя.
Настройка параметров базы данных
Важно: никогда не используйте текстовый редактор, например Microsoft Word, для редактирования файлов WordPress!
Найдите файл wp-config-sample.php
в базовом каталоге вашего каталога WordPress и откройте его в текстовом редакторе.
Наверх ↑
Стандартный wp-config-sample.php
Примечание. Это пример стандартного wp-config-sample.php. Значения здесь являются примерами, чтобы показать вам, что делать.
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'database_name_here' ); /** MySQL database username */ define( 'DB_USER', 'username_here' ); /** MySQL database password */ define( 'DB_PASSWORD', 'password_here' ); /** MySQL hostname */ define( 'DB_HOST', 'localhost' );
Внимание: Текст внутри /* */ являеться комментариями, только в информационных целях.
Наверх ↑
Изменение имени базы данных
Замените «database_name_here» именем своей базы данных, например MyDatabaseName.
define( 'DB_NAME', 'MyDatabaseName' ); // Example MySQL database name
Наверх ↑
Изменение пользователя базы данных
Замените «username_here» на имя вашего имени пользователя, например MyUserName.
define( 'DB_USER', 'MyUserName' ); // Example MySQL username
Наверх ↑
Изменение пароля базы данных
Замените «password_here» своим паролем, например MyPassWord.
define( 'DB_PASSWORD', 'MyPassWord' ); // Example MySQL password
Наверх ↑
Изменение хоста базы данных
Замените «localhost» именем хоста вашей базы данных, например MyDatabaseHost. Также может потребоваться номер порта или путь к файлу сокета Unix.
define( 'DB_HOST', 'MyDatabaseHost' ); // Example MySQL Database host
Примечание. Вполне вероятно, что вам НЕ придется его менять. Если вы не уверены, попробуйте установить со значением по умолчанию «localhost» и посмотрите, работает ли это. Если установка не удалась, обратитесь к своему провайдеру веб-хостинга.
Наверх ↑
Альтернативный порт MySQL
Если ваш хост использует альтернативный номер порта для вашей базы данных, вам необходимо изменить значение DB_HOST в файле wp-config.php
, чтобы отразить альтернативный порт, предоставленный вашим хостом.
Для localhost:
define( 'DB_HOST', 'localhost:3307' );
Для указанного сервера:
define( 'DB_HOST', 'mysql.example.com:3307' );
Замените 3307 любым номером порта, который вам дает ваш хост.
Наверх ↑
Сокеты или конвееры MySQL
Если ваш хост использует сокеты или конвееры Unix, соответственно измените значение DB_HOST в файле wp-config.php
.
define( 'DB_HOST', '127.0.0.1:/var/run/mysqld/mysqld.sock' ); // or define( 'DB_HOST', 'localhost:/var/run/mysqld/mysqld.sock' ); // or define( 'DB_HOST', 'example.tld:/var/run/mysqld/mysqld.sock' );
Замените /var/run/mysqld/mysqld.sock
информацией о сокете или конвеере, предоставленной вашим хостом.
Наверх ↑
Возможные значения DB_HOST
Разные хостинговые компании используют разные сетевые настройки для своих баз данных mysql. Обратитесь в службу технической поддержки и/или выполните поиск в документации по вашей хостинг-компании в Интернете.
Наверх ↑
Кодировка базы
DB_CHARSET был сделан доступным для обозначения набора символов базы данных (например, tis620 для TIS620 Thai), который будет использоваться при определении таблиц базы данных MySQL.
Значение по умолчанию utf8 (Unicode UTF-8) почти всегда является лучшим вариантом. UTF-8 поддерживает любой язык, поэтому вы обычно оставляете DB_CHARSET на utf8 и вместо этого используете значение DB_COLLATE для вашего языка.
В этом примере показана кодировка utf8, которая считается значением WordPress по умолчанию:
define( 'DB_CHARSET', 'utf8' );
Обычно не должно быть причин для изменения значения DB_CHARSET по умолчанию. Если вашему блогу нужен другой набор символов, прочтите, пожалуйста, «Наборы символов и сопоставления, поддерживаемые MySQL», чтобы узнать допустимые значения DB_CHARSET. ВНИМАНИЕ: Это требует обновления.
Если DB_CHARSET и DB_COLLATE не существуют в вашем файле wp-config.php
, НЕ ДОБАВЛЯЙТЕ какое-либо определение в файл wp-config.php
, если вы не прочитали и не поняли преобразование наборов символов базы данных. Добавление DB_CHARSET и DB_COLLATE в файл wp-config.php
для существующего блога может вызвать серьезные проблемы.
Наверх ↑
Сопоставление базы данных
DB_COLLATE стал доступным для обозначения параметров cопоставления кодировки базы данных (то есть порядка кодировки набора символов). В большинстве случаев это значение следует оставить пустым (нулевым), чтобы кодировка базы данных была автоматически назначена MySQL на основе набора символов базы данных, указанного в DB_CHARSET. Примером того, когда вам может потребоваться установить «DB_COLLATE» в одно из значений UTF-8, определенных в наборах символов UTF-8 для большинства западноевропейских языков, может быть другой язык, на котором введенные вами символы не являются то же самое, что отображается. (См. также Наборы символов Unicode в Руководстве по SQL)
Значение DB_COLLATE по умолчанию WordPress:
define( 'DB_COLLATE', '' );
UTF-8 Unicode Общие параметры кодировки
define( 'DB_COLLATE', 'utf8_general_ci' );
UTF-8 Unicode турецкая кодировка
define( 'DB_COLLATE', 'utf8_turkish_ci' );
Обычно не должно быть причин для изменения значения DB_COLLATE по умолчанию. Если оставить значение пустым (null), MySQL автоматически назначит сопоставление при создании таблиц базы данных. ВНИМАНИЕ: Это требует обновления
Если DB_COLLATE и DB_CHARSET не существуют в вашем файле wp-config.php
, НЕ добавляйте ни одно определение в ваш файл wp-config.php
, если вы не прочитали и не поняли преобразование наборов символов базы данных. И вам может потребоваться обновление WordPress.
Наверх ↑
Ключи безопасности
Вам не нужно запоминать ключи, просто сделайте их длинными, случайными и сложными — а еще лучше — используйте онлайн-генератор. Вы можете изменить их в любой момент, чтобы аннулировать все существующие файлы cookie. Это означает, что всем пользователям придется снова войти в систему.
Пример (не используйте их!):
define( 'AUTH_KEY', 't`DK%X:>xy|e-Z(BXb/f(Ur`8#~UzUQG-^_Cs_GHs5U-&Wb?pgn^p8(2@}IcnCa|' ); define( 'SECURE_AUTH_KEY', 'D&ovlU#|CvJ##uNq}bel+^MFtT&.b9{UvR]g%ixsXhGlRJ7q!h}XWdEC[BOKXssj' ); define( 'LOGGED_IN_KEY', 'MGKi8Br(&{H*~&0s;{k0<S(O:+f#WM+q|npJ-+P;RDKT:~jrmgj#/-,[hOBk!ry^' ); define( 'NONCE_KEY', 'FIsAsXJKL5ZlQo)iD-pt??eUbdc{_Cn<4!d~yqz))&B D?AwK%)+)F2aNwI|siOe' ); define( 'AUTH_SALT', '7T-!^i!0,w)L#JK@pc2{8XE[DenYI^BVf{L:jvF,hf}zBf883td6D;Vcy8,S)-&G' ); define( 'SECURE_AUTH_SALT', 'I6`V|mDZq21-J|ihb u^q0F }F_NUcy`l,=obGtq*p#Ybe4a31R,r=|n#=]@]c #' ); define( 'LOGGED_IN_SALT', 'w<$4c$Hmd%/*]`Oom>(hdXW|0M=X={we6;Mpvtg+V.o<$|#_}qG(GaVDEsn,~*4i' ); define( 'NONCE_SALT', 'a|#h{c5|P &xWs4IZ20c2&%4!c(/uG}W:mAvy<I44`jAbup]t=]V<`}.py(wTP%%' );
Секретный ключ усложняет успешную атаку на ваш сайт, добавляя случайные элементы к паролю.
Проще говоря, секретный ключ — это пароль с элементами, которые затрудняют создание достаточного количества параметров для преодоления ваших барьеров безопасности. Пароль типа «пароль» или «тест» прост и легко взломан. Для взлома случайного длинного пароля без словарных слов, например «88a7da62429ba6ad3cb3c76a09641fc», злоумышленнику могут потребоваться миллионы часов. «Соль» используется для дальнейшего повышения надежности полученного результата.
Четыре ключа необходимы для повышенной безопасности. Четыре соли рекомендуются, но не требуются, потому что WordPress будет генерировать соли для вас, если они не предоставлены. Они включены в wp-config.php
по умолчанию.
Дополнительные сведения о технических характеристиках и структуре секретных ключей и безопасных паролей смотрите:
- Райан Борен — SSL и файлы cookie в WordPress 2.6
- Объяснение взлома паролей из Википедии
- Лорель ВанФоссен — Защитите свой блог надежным паролем
- Instructables — Советы по безопасному паролю
- Huffington Post — 17 советов, которые вы можете сделать сегодня, чтобы защитить свои пароли в Интернете
Наверх ↑
Расширенные настройки
Следующие разделы могут содержать дополнительную информацию, и некоторые изменения могут привести к непредвиденным проблемам. Перед изменением этих настроек убедитесь, что вы регулярно выполняете резервное копирование и знаете, как их восстановить.
Наверх ↑
table_prefix
$table_prefix — это значение, помещаемое перед таблицами базы данных. Измените значение, если вы хотите использовать что-то другое, кроме wp_ для префикса вашей базы данных. Обычно это изменяется, если вы устанавливаете несколько сайтов WordPress в одной базе данных, как это делается с функцией работы с несколькими сайтами.
Можно сделать несколько установок в одной базе данных, если вы дадите каждой из них уникальный префикс. Помните о безопасности, если решите это сделать.
$table_prefix = 'r235_'; // Only numbers, letters, and underscores please!
Наверх ↑
WP_SITEURL
WP_SITEURL позволяет определить адрес (URL) WordPress. Определенное значение — это адрес, по которому находятся ваши файлы ядра WordPress. Он также должен включать часть http://
. Не ставьте в конце косую черту «/». Установка этого значения в wp-config.php
переопределяет значение таблицы wp_options для siteurl. Добавление этого может уменьшить количество обращений к базе данных при загрузке вашего сайта. Примечание: это не изменит сохраненное значение базы данных. URL вернется к старому значению базы данных, если эта строка когда-либо будет удалена из wp-config.php
. Используйте константу RELOCATE, чтобы изменить значение siteurl в базе данных.
Если WordPress установлен в каталог с именем «wordpress» для домена example.com, определите WP_SITEURL следующим образом:
define( 'WP_SITEURL', 'http://example.com/wordpress' );
Динамически установить WP_SITEURL на основе $ _SERVER [‘HTTP_HOST’]
define( 'WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress' );
Примечание. HTTP_HOST создается PHP динамически на основе значения заголовка HTTP HOST в запросе, что, возможно, допускает уязвимости включения файлов. SERVER_NAME также может быть создан динамически. Однако, когда Apache настроен как UseCanonicalName «on», SERVER_NAME устанавливается конфигурацией сервера, а не динамически. В этом случае для пользователя SERVER_NAME безопаснее, чем HTTP_HOST.
Динамически установить WP_SITEURL на основе $ _SERVER [‘SERVER_NAME’]
define( 'WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/path/to/wordpress' );
Наверх ↑
Адрес сайта (URL)
Подобно WP_SITEURL, WP_HOME переопределяет значение таблицы wp_options для главной, но не изменяет его в базе данных. главная — это адрес, который вы хотите, чтобы люди вводили в своем браузере, чтобы попасть в ваш сайт WordPress. Он должен включать часть http://
и не иметь косой черты «/» в конце. Добавление этого может уменьшить количество обращений к базе данных при загрузке вашего сайта.
define( ‘WP_HOME’, ‘http://example.com/wordpress’ );
Если вы используете технику, описанную в разделе «Создание собственного каталога WordPress», следуйте приведенному ниже примеру. Помните, что вы также разместите index.php в своем корневом веб-каталоге, если вы используете такую настройку.
define( 'WP_HOME', 'http://example.com' );
Динамически установить WP_HOME на основе $ _SERVER [‘HTTP_HOST’]
define( 'WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress' );
Наверх ↑
Перемещение каталога wp-content
Вы можете переместить каталог wp-content
, в котором хранятся ваши темы, плагины и загрузки, за пределы каталога приложений WordPress.
Установите WP_CONTENT_DIR на полный локальный путь к этому каталогу (без косой черты в конце), например
define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/blog/wp-content' );
Установите WP_CONTENT_URL на полный URL-адрес этого каталога (без косой черты в конце), например
define( 'WP_CONTENT_URL', 'http://example/blog/wp-content' );
Наверх ↑
Перемещение каталога плагинов
Установите WP_PLUGIN_DIR на полный локальный путь к этому каталогу (без косой черты), например
define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/blog/wp-content/plugins' );
Установите WP_PLUGIN_URL на полный URI этого каталога (без косой черты в конце), например
define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/plugins' );
Если у вас есть проблемы с совместимостью плагинов, установите PLUGINDIR на полный локальный путь к этому каталогу (без косой черты в конце), например
define( 'PLUGINDIR', dirname(__FILE__) . '/blog/wp-content/plugins' );
Наверх ↑
Перемещение каталога тем
Вы не можете переместить папку тем, потому что ее путь жестко задан относительно папки wp-content
:
$theme_root = WP_CONTENT_DIR . '/themes';
Однако вы можете зарегистрировать дополнительные каталоги тем с помощью register_theme_directory.
Посмотрите, как переместить папку wp-content. Подробнее о том, как определяется папка тем, см. wp-includes/theme.php
.
Наверх ↑
Перемещение каталога загрузок
Установить каталог загрузок
define( 'UPLOADS', 'blog/wp-content/uploads' );
Этот путь не может быть абсолютным. Он всегда относительно ABSPATH, поэтому не требует косой черты в начале.
Наверх ↑
Изменить интервал автосохранения
При редактировании сообщения WordPress использует Ajax для автоматического сохранения изменений в публикации во время редактирования. Вы можете увеличить эту настройку, чтобы увеличить задержки между автосохранениями, или уменьшить ее, чтобы не потерять изменения. По умолчанию 60 секунд.
define( 'AUTOSAVE_INTERVAL', 160 ); // Seconds
Наверх ↑
Редакции записей
WordPress по умолчанию сохраняет копии каждого изменения, внесенного в сообщение или страницу, что дает возможность вернуться к предыдущей версии этого сообщения или страницы. Сохранение редакций можно отключить или указать максимальное количество редакций для каждой записи или страницы.
Наверх ↑
Отключить редакции записей
Если вы не устанавливаете это значение, WordPress по умолчанию устанавливает для WP_POST_REVISIONS значение true (разрешить редактирование сообщений). Если вы хотите отключить функцию ревизий, используйте этот параметр:
define( 'WP_POST_REVISIONS', false );
Примечание. Иногда это не работает, пока команда не будет перемещена в первую строку под комментарием начального блока в wp-config.php
.
Наверх ↑
Укажите количество редакций записи
Если вы хотите указать максимальное количество редакций, которые хранит WordPress, измените false на целое число (например, 3 или 12).
define( 'WP_POST_REVISIONS', 3 );
Примечание. Иногда это не работает, пока команда не будет перемещена в первую строку под комментарием начального блока в wp-config.php
.
Наверх ↑
Установить домен для cookie
Домен, установленный в файлах cookie для WordPress, может быть указан для пользователей с необычными настройками домена. Например, если субдомены используются для обслуживания статического содержимого, вы можете установить в качестве домена cookie только ваш нестатический домен, чтобы предотвратить отправку cookie WordPress с каждым запросом к статическому содержимому на вашем субдомене.
define( 'COOKIE_DOMAIN', 'www.example.com' );
Наверх ↑
Установка сети (Мультисайт)
WP_ALLOW_MULTISITE — это функция, позволяющая работать с несколькими сайтами. Если этот параметр отсутствует в wp-config.php
, по умолчанию используется значение false.
define( 'WP_ALLOW_MULTISITE', true );
Наверх ↑
Редирект несуществующих блогов
NOBLOGREDIRECT может использоваться для перенаправления браузера, если посетитель пытается получить доступ к несуществующему поддомену или каталогу.
define( 'NOBLOGREDIRECT', 'http://example.com' );
Наверх ↑
WP_DISABLE_FATAL_ERROR_HANDLER
WordPress 5.2 представил режим восстановления, который отображает сообщение об ошибке вместо белого экрана, когда плагины или темы вызывают фатальную ошибку.
Сайт испытывает технические трудности. Пожалуйста, проверьте почтовый ящик администратора вашего сайта для получения инструкций.
Белые экраны и сообщения об ошибках PHP больше не отображаются для пользователей. Но в среде разработки, если вы хотите включить WP_DEBUG_DISPLAY, вы должны отключить режим восстановления, установив true в WP_DISABLE_FATAL_ERROR_HANDLER.
define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true ); // 5.2 and later define( 'WP_DEBUG', true ); define( 'WP_DEBUG_DISPLAY', true );
Наверх ↑
WP_DEBUG
Параметр WP_DEBUG управляет отчетом о некоторых ошибках и предупреждениях и позволяет использовать настройки WP_DEBUG_DISPLAY и WP_DEBUG_LOG. Значение по умолчанию — false.
define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true ); // 5.2 and later define( 'WP_DEBUG', true );
Ошибки базы данных выводятся, только если WP_DEBUG имеет значение true. Ошибки базы данных обрабатываются классом wpdb и не зависят от настроек ошибок PHP.
Установка WP_DEBUG в значение true также повышает уровень сообщения об ошибках до E_ALL и активирует предупреждения при использовании устаревших функций или файлов; в противном случае WordPress устанавливает уровень сообщения об ошибках на E_ALL ^ E_NOTICE ^ E_USER_NOTICE.
Наверх ↑
SCRIPT_DEBUG
SCRIPT_DEBUG — это связанная константа, которая заставит WordPress использовать «dev» версии скриптов и таблиц стилей в wp-includes/js
, wp-includes/css
, wp-admin/js
, и wp-admin/css
будут загружены вместо версии .min.css
и .min.js
. Если вы планируете модифицировать некоторые из встроенных в WordPress таблиц JavaScript или CSS, вам следует добавить следующий код в свой файл конфигурации:
define( 'SCRIPT_DEBUG', true );
Наверх ↑
Отключить объединение Javascript
Чтобы ускорить экраны администрирования, все файлы JavaScript объединяются в один URL. Если JavaScript не работает на экране администрирования, вы можете попробовать отключить эту функцию:
define( 'CONCATENATE_SCRIPTS', false );
Наверх ↑
Настройка журналирования ошибок
Настройка журнала ошибок может быть немного сложной. Прежде всего, журнал ошибок PHP по умолчанию и настройки отображения устанавливаются в файле php.ini, к которому вы можете иметь или не иметь доступа. Если вы это сделаете, они должны быть установлены на желаемые настройки для реальных страниц PHP. Настоятельно рекомендуется не публиковать сообщения об ошибках, а направлять их в журнал ошибок. Более того, журналы ошибок не должны находиться в общедоступной части вашего сервера. Пример рекомендуемых настроек ошибок php.ini:
error_reporting = 4339 display_errors = Off display_startup_errors = Off log_errors = On error_log = /home/example.com/logs/php_error.log log_errors_max_len = 1024 ignore_repeated_errors = On ignore_repeated_source = Off html_errors = Off
Об отчетах об ошибках 4339 Это настраиваемое значение, которое регистрирует только проблемы, влияющие на работу вашего сайта, и игнорирует такие вещи, как уведомления, которые могут даже не быть ошибками. См. В разделе Константы ошибок PHP значение каждой двоичной позиции для 1000011110011, которое является двоичным числом, равным 4339. Крайняя левая цифра 1 означает сообщение о любой E_RECOVERABLE_ERROR. Следующий 0 означает, что не следует сообщать E_STRICT (который выдается при использовании небрежного, но функционального кодирования) и так далее. Не стесняйтесь определять свой собственный номер сообщения об ошибке, который будет использоваться вместо 4339.
Очевидно, вам понадобятся другие настройки для вашей среды разработки. Если ваша разрабатываемая копия находится на том же сервере или у вас нет доступа к php.ini, вам нужно будет изменить настройки по умолчанию во время выполнения. Это вопрос личных предпочтений, предпочитаете ли вы, чтобы ошибки записывались в файл журнала, или вы предпочитаете немедленно получать уведомления о любой ошибке, или, возможно, и то и другое. Вот пример, который немедленно сообщает обо всех ошибках, которые вы можете вставить в файл wp-config.php
:
@ini_set( 'log_errors', 'Off' ); @ini_set( 'display_errors', 'On' ); define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true ); // 5.2 and later define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', false ); define( 'WP_DEBUG_DISPLAY', true );
Поскольку wp-config.php
загружается для каждого просмотра страницы, не загруженного из файла кеша, это отличное место для установки настроек php.ini, управляющих вашей установкой PHP. Это полезно, если у вас нет доступа к файлу php.ini или вы просто хотите изменить некоторые настройки на лету. Единственное исключение — error_reporting. Если для WP_DEBUG задано значение true, для параметра error_reporting будет установлено значение E_ALL WordPress, независимо от того, что вы пытаетесь установить в wp-config.php
. Если вам действительно нужно установить для параметра error_reporting что-то еще, это нужно сделать после загрузки wp-settings.php, например, в файле плагина.
Если вы включите регистрацию ошибок, не забудьте потом удалить файл, так как он часто будет находиться в общедоступном месте, где любой может получить доступ к вашему журналу.
Вот пример, который включает PHP error_logging и записывает их в определенный файл. Если для WP_DEBUG задано значение true, ошибки также будут сохраняться в этом файле. Просто поместите это над любыми командами require_once или include.
@ini_set( 'log_errors', 'On' ); @ini_set( 'display_errors', 'Off' ); @ini_set( 'error_log', '/home/example.com/logs/php_error.log' ); /* That's all, stop editing! Happy blogging. */
Другой пример регистрации ошибок, предложенный Майком Литтлом в списке рассылки wp-hackers:
/** * This will log all errors notices and warnings to a file called debug.log in * wp-content (if Apache does not have write permission, you may need to create * the file first and set the appropriate permissions (i.e. use 666) ) */ define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 );
Усовершенствованная версия Майка Литтла из Манчестерской группы пользователей WordPress:
/** * This will log all errors notices and warnings to a file called debug.log in * wp-content only when WP_DEBUG is true. if Apache does not have write permission, * you may need to create the file first and set the appropriate permissions (i.e. use 666). */ define( 'WP_DEBUG', true ); // Or false if ( WP_DEBUG ) { define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 ); }
Проблема в том, что в WordPress есть три (3) константы, которые выглядят так, как будто они могут делать одно и то же. Во-первых, помните, что если WP_DEBUG имеет значение false, он и две другие константы WordPress DEBUG ничего не делают. Директивы PHP, какими бы они ни были, будут иметь преимущественную силу. За исключением error_reporting, WordPress установит для него значение 4983, если WP_DEBUG определен как false. Во-вторых, даже если WP_DEBUG истинно, другие константы что-то делают, только если они тоже имеют значение true. Если для них установлено значение false, директивы PHP остаются неизменными. Например, если в вашем файле php.ini есть директива (‘display_errors’ = ‘On’); но у вас есть оператор define (‘WP_DEBUG_DISPLAY’, false); в вашем файле wp-config.php ошибки все равно будут отображаться на экране, даже если вы пытались предотвратить это, установив для WP_DEBUG_DISPLAY значение false, потому что это поведение, настроенное PHP. Вот почему очень важно установить в директивах PHP то, что вам нужно, если для какой-либо из связанных констант WP установлено значение false. На всякий случай явно установите / определите оба типа. Более подробные описания констант WP доступны в разделе «Отладка в WordPress».
Для обычной установки WordPress вы можете подумать о размещении следующего в файле wp-config.php, даже если он может быть частично избыточным:
@ini_set( 'log_errors', 'On' ); @ini_set( 'display_errors', 'Off' ); define( 'WP_DISABLE_FATAL_ERROR_HANDLER', false ); // 5.2 and later define( 'WP_DEBUG', false ); define( 'WP_DEBUG_LOG', false ); define( 'WP_DEBUG_DISPLAY', false );
Файл журнала отладки по умолчанию — /wp-content/debug.log
. Размещение журналов ошибок в общедоступных местах представляет собой угрозу безопасности. В идеале файлы журнала должны размещаться над общедоступным корневым каталогом вашего сайта. Если вы не можете этого сделать, по крайней мере, установите разрешения для файла журнала на 600 и добавьте эту запись в файл .htaccess в корневом каталоге вашей установки WordPress:
<Files debug.log> Order allow,deny Deny from all </Files>
Это предотвращает доступ к файлу через HTTP. Вы всегда можете просмотреть файл журнала, загрузив его со своего сервера по FTP.
Наверх ↑
Увеличение памяти, выделенной PHP
Параметр WP_MEMORY_LIMIT позволяет указать максимальный объем памяти, который может использовать PHP. Эта настройка может потребоваться в случае, если вы получите сообщение, такое как «Допустимый размер памяти xxxxxx байт исчерпан».
Этот параметр увеличивает память PHP только для WordPress, а не для других приложений. По умолчанию WordPress будет пытаться увеличить память, выделенную для PHP, до 40 МБ (код находится в начале /wp-includes/default-constants.php
) для одного сайта и 64 МБ для мультисайта, поэтому параметр в wp-config.php
должен отражать что-то более 40 МБ или 64 МБ в зависимости от ваших настроек.
WordPress автоматически проверит, выделено ли PHP меньше памяти, чем введенное значение, прежде чем использовать эту функцию. Например, если PHP было выделено 64 МБ, нет необходимости устанавливать это значение на 64 МБ, так как WordPress при необходимости автоматически использует все 64 МБ.
Примечание. Некоторые хосты не позволяют автоматически увеличивать лимит памяти PHP. В этом случае обратитесь к своему хосту, чтобы увеличить лимит памяти PHP. Кроме того, многие хосты устанавливают лимит PHP на 128 МБ.
Увеличьте память PHP до 256 МБ
define( 'WP_MEMORY_LIMIT', '256M' );
Задачи администрирования требуют больше памяти, чем обычные операции. Находясь в области администрирования, память может быть увеличена или уменьшена с WP_MEMORY_LIMIT путем определения WP_MAX_MEMORY_LIMIT.
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
Примечание: это должно быть указано перед включением wp-settings.php.
Наверх ↑
Кэш
Параметр WP_CACHE, если он истинен, включает сценарий wp-content/advanced-cache.php
при выполнении wp-settings.php.
define( 'WP_CACHE', true );
Наверх ↑
Настраиваемые таблицы User и Usermeta
CUSTOM_USER_TABLE и CUSTOM_USER_META_TABLE используются для обозначения того, что пользовательские и пользовательские таблицы метаданных, обычно используемые WordPress, не используются, вместо этого эти значения/таблицы используются для хранения вашей пользовательской информации.
define( 'CUSTOM_USER_TABLE', $table_prefix.'my_users' ); define( 'CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta' );
Примечание. Даже если параметр «CUSTOM_USER_META_TABLE» установлен вручную, таблица пользовательских метаданных все равно создается для каждой базы данных с соответствующими разрешениями для каждого экземпляра. По умолчанию установщик WordPress добавит разрешения для первого пользователя (ID # 1). Вам также необходимо управлять разрешениями для каждого сайта с помощью плагина или настраиваемой функции. Если этого не сделать, вы столкнетесь с ошибками разрешений и проблемами со входом в систему.
CUSTOM_USER_TABLE проще всего использовать во время начальной установки вашего первого экземпляра WordPress. Операторы define файла wp-config.php в первом экземпляре указывают на то, где по умолчанию будут храниться данные wp_users. После первой настройки сайта копирование рабочего wp-config.php в следующий экземпляр потребует только изменения переменной $table_prefix. Не используйте адрес электронной почты, который уже используется в исходной установке. После завершения процесса установки войдите в систему с автоматически созданной учетной записью администратора и паролем. Затем продвиньте свою обычную учетную запись до уровня администратора и выйдите из системы администратора. Войдите в систему как вы, удалите учетную запись администратора и продвигайте другие учетные записи пользователей по мере необходимости.
Наверх ↑
Язык и папка языковых файлов
WordPress c версии 4.0 позволяет менять язык на экранах администрирования WordPress. Чтобы изменить язык в экране настроек администратора. Перейдите в Настройки — Общие и выберите Язык сайта.
Наверх ↑
WordPress v3.9.6 и ниже
WPLANG определяет имя файла языкового перевода (.mo). WP_LANG_DIR определяет, в каком каталоге находится файл WPLANG.mo. Если WP_LANG_DIR не определен, WordPress сначала ищет wp-content/languages
, а затем wp-includes/languages
для .mo, определенного файлом WPLANG.
define( 'WPLANG', 'de_DE' ); define( 'WP_LANG_DIR', dirname(__FILE__) . 'wordpress/languages' );
Чтобы узнать код языка WPLANG, перейдите сюда. Код в столбце WP Local — это то, что вам нужно.
Наверх ↑
Сохранение запросов SQL для анализа
Определение SAVEQUERIES сохраняет запросы к базе данных в массив, и этот массив может быть отображен, чтобы помочь проанализировать эти запросы. В этой информации сохраняется каждый запрос, какая функция его вызвала и сколько времени потребовалось для выполнения этого запроса. Примечание. Это повлияет на производительность вашего сайта, поэтому обязательно отключите эту функцию, когда не занимаетесь отладкой.
Сначала добавьте это в файл wp-config.php:
define( 'SAVEQUERIES', true );
Затем в подвал вашей темы поместите это:
<?php if ( current_user_can( 'administrator' ) ) { global $wpdb; echo "<pre>"; print_r( $wpdb->queries ); echo "</pre>"; } ?>
Наверх ↑
Отмена разрешений для файлов по умолчанию
Операторы FS_CHMOD_DIR и FS_CHMOD_FILE позволяют переопределить права доступа к файлам по умолчанию. Эти две переменные были разработаны в ответ на проблему сбоя функции обновления ядра с хостами, работающими под suexec. Если хост использует ограничительные права доступа к файлам (например, 400) для всех пользовательских файлов и отказывается получить доступ к файлам, для которых установлены разрешения группы или общие, эти определения могут решить проблему.
define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) ); define( 'FS_CHMOD_FILE', ( 0644 & ~ umask() ) );
Пример предоставления setgid:
define( 'FS_CHMOD_DIR', ( 02755 & ~umask() ) );
Примечание. «0755» и «02755» — восьмеричные значения. Восьмеричные значения должны иметь префикс 0 и не выделяться одинарными кавычками (‘). См. Также: Изменение прав доступа к файлам
Наверх ↑
Константы обновления WordPress
Примечание. Определите только необходимые константы для исправления проблем с обновлением.
Наиболее частые причины, по которым необходимо их определить:
Хост работает со специальной установкой, включающей символические ссылки. Возможно, вам потребуется определить константы, относящиеся к пути (FTP_BASE, FTP_CONTENT_DIR и FTP_PLUGIN_DIR). Часто достаточно простого определения базы.
Некоторые установки PHP поставляются с расширением PHP FTP, несовместимым с определенными FTP-серверами. В этих редких ситуациях вам может потребоваться определить FS_METHOD как «ftpsockets».
Следующие допустимые константы для обновлений WordPress:
- FS_METHOD принудительно использует метод файловой системы. Это должно быть только «direct», «ssh2», «ftpext» или «ftpsockets». Как правило, вам следует изменять это только при возникновении проблем с обновлением. Если вы измените его, и это не поможет, поменять обратно/удалить. В большинстве случаев установка ftpsockets будет работать, если автоматически выбранный метод не работает..
- (Основная настройка) “direct” принудительно устанавливает, чтобы использовать Прямые запросы ввода/вывода Файла изнутри PHP, это чревато открытием вопросов безопасности на плохо конфигурировавших серверах. Это выбирается автоматически при поддержке сервера.
- (вторая настройка) “ssh2” должен вызвать использование SSH PHP Расширение если оно установлено
- (третья настройка) “ftpext” заключается в принудительном использовании расширения FTP PHP для доступа к FTP и, наконец,
- (четвертая настройка) “ftpsockets” использует класс сокетов PHP для доступа по FTP.
- FTP_BASE — это полный путь к «корневой» (ABSPATH) папке установки WordPress.
- FTP_CONTENT_DIR — это полный путь к папке wp-content установки WordPress.
- FTP_PLUGIN_DIR — это полный путь к папке плагинов установки WordPress.
- FTP_PUBKEY — это полный путь к вашему публичному ключу SSH.
- FTP_PRIKEY — это полный путь к вашему закрытому ключу SSH.
- FTP_USER это имя пользователя FTP или SSH. Скорее всего, это одно и то же, но используйте тот, который подходит для того типа обновления, которое вы хотите сделать.
- FTP_PASS пароль для имени пользователя, введенного для FTP_USER. Если вы используете аутентификацию с открытым ключом SSH, это можно не указывать.
- FTP_HOST это комбинация имя хоста: порт для вашего SSH/FTP-сервера. Если порт FTP по умолчанию — 21, а порт SSH по умолчанию — 22. В этом нет необходимости.
- FTP_SSL TRUE для SSL-соединения если поддерживается нижележащим транспортом (доступно не на всех серверах). Это для «Безопасного FTP», а не для SSH SFTP.
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' ); define( 'FTP_SSL', false );
Некоторые конфигурации должны устанавливать FTP_HOST на localhost, чтобы избежать проблем 503 при попытке обновить плагины или сам WP.
Наверх ↑
Включение доступа к обновлению по SSH
Есть два способа обновления с использованием SSH2.
Первый — использовать плагин SSH SFTP Updater Support. Второй — использовать встроенное средство обновления SSH2, для которого необходимо установить расширение pecl SSH2.
Чтобы установить расширение pecl SSH2, вам нужно будет ввести команду, подобную следующей, или поговорить с вашим провайдером веб-хостинга, чтобы установить его:
pecl install ssh2
После установки расширения pecl ssh2 вам нужно будет изменить конфигурацию PHP для автоматической загрузки этого расширения.
pecl предоставляется пакетом pear в большинстве дистрибутивов Linux. Чтобы установить pecl в Redhat/Fedora/CentOS:
yum -y install php-pear
Чтобы установить pecl в Debian/Ubuntu:
apt-get install php-pear
Рекомендуется использовать закрытый ключ, не защищенный парольной фразой. Было много сообщений о том, что закрытые ключи, защищенные парольной фразой, не работают должным образом. Если вы решите попробовать секретный ключ, защищенный парольной фразой, вам нужно будет ввести парольную фразу для секретного ключа как FTP_PASS или ввести ее в поле «Пароль» представленного поля учетных данных при установке обновлений.
Наверх ↑
Альтернативный Cron
Может возникнуть необходимость использовать альтернативный Cron с WP. Чаще всего это делается, если запланированные публикации не публикуются, как предполагалось. Этот альтернативный метод использует подход перенаправления. Браузер пользователей получает перенаправление, когда cron необходимо запустить, так что они сразу же возвращаются на сайт, в то время как cron продолжает работать в только что отключенном соединении. У этого метода есть определенные риски, поскольку он зависит от не родного сервиса для WordPress.
define( 'ALTERNATE_WP_CRON', true );
Наверх ↑
Отключить Cron и Cron Timeout
Полностью отключите cron, установив для DISABLE_WP_CRON значение true.
define( 'DISABLE_WP_CRON', true );
Установить ограничение на запуск процесса cron чаще одного раза в WP_CRON_LOCK_TIMEOUT секунд.
define( 'WP_CRON_LOCK_TIMEOUT', 60 );
Наверх ↑
Дополнительные определяемые константы
Вот дополнительные константы, которые можно определить. Их, вероятно, не следует устанавливать, если сначала не были опробованы другие методики. Определения файлов cookie могут быть особенно полезны, если у вас необычная настройка домена.
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 ) ); define( 'TEMPLATEPATH', get_template_directory() ); define( 'STYLESHEETPATH', get_stylesheet_directory() );
Наверх ↑
Очистить корзину
Эта константа контролирует количество дней до того, как WordPress окончательно удалит сообщения, страницы, вложения и комментарии из корзины. По умолчанию 30 дней:
define( 'EMPTY_TRASH_DAYS', 30 ); // 30 дней
Чтобы отключить корзину, установите нулевое количество дней.
define( 'EMPTY_TRASH_DAYS', 0 ); // Ноль дней
Примечание: WordPress не будет запрашивать подтверждение, когда кто-то нажимает «Удалить навсегда», используя этот параметр.
Наверх ↑
Автоматическая оптимизация базы данных
Существует поддержка автоматического восстановления базы данных, которую вы можете включить, добавив следующее определение в файл wp-config.php.
Примечание: это следует включать только при необходимости и отключать после решения проблемы. Если этот параметр включен, пользователю не нужно входить в систему для доступа к функциям, поскольку его основная цель — восстановить поврежденную базу данных, и пользователи часто не могут войти в систему, если база данных повреждена.
define( 'WP_ALLOW_REPAIR', true );
Скрипт можно найти по адресу {$your_site}/wp-admin/maint/repair.php
.
Наверх ↑
DO_NOT_UPGRADE_GLOBAL_TABLES
Определение DO_NOT_UPGRADE_GLOBAL_TABLES запрещает dbDelta() и функциям обновления выполнять дорогостоящие запросы к глобальным таблицам.
Сайты с большими глобальными таблицами (в частности, пользователи и мета пользователей), а также сайты, которые используют общие таблицы пользователей с bbPress и другими установками WordPress, могут предотвратить изменение этих таблиц при обновлении, задав для DO_NOT_UPGRADE_GLOBAL_TABLES значение true. Поскольку выполнение ALTER или неограниченного DELETE или UPDATE может занять много времени, крупные сайты обычно не хотят, чтобы они выполнялись при обновлениях, чтобы они могли сделать это самостоятельно. Кроме того, если в установках используются общие таблицы пользователей между несколькими установками bbPress и WordPress, вы можете захотеть, чтобы один сайт был основным при обновлениях.
define( 'DO_NOT_UPGRADE_GLOBAL_TABLES', true );
Наверх ↑
Просмотр всех определенных констант
В PHP есть функция, которая возвращает массив всех определенных в настоящее время констант с их значениями.
print_r( @get_defined_constants() );
Наверх ↑
Отключение редактора плагинов и тем
Иногда вы можете отключить плагин или редактор тем, чтобы чрезмерно усердные пользователи не могли редактировать конфиденциальные файлы и, возможно, вывести сайт из строя. Их отключение также обеспечивает дополнительный уровень безопасности, если хакер получает доступ к учетной записи с высокими привилегиями.
define( 'DISALLOW_FILE_EDIT', true );
Примечание. На функциональность некоторых плагинов может влиять использование current_user_can('edit_plugins')
в их коде. Авторам плагинов следует избегать проверки этой возможности или, по крайней мере, проверять, установлена ли эта константа, и отображать соответствующее сообщение об ошибке. Имейте в виду, что если плагин не работает, это может быть причиной.
Наверх ↑
Отключить обновление и установку плагинов и тем
Это заблокирует пользователям возможность использовать функции установки/обновления плагинов и тем из области администрирования WordPress. Установка этой константы также отключает редактор плагинов и тем (т.е. вам не нужно устанавливать DISALLOW_FILE_MODS и DISALLOW_FILE_EDIT, так как DISALLOW_FILE_MODS будет иметь тот же эффект).
define( 'DISALLOW_FILE_MODS', true );
Наверх ↑
Требовать SSL для администратора и входа в систему
Примечание. В WordPress версии 4.0 FORCE_SSL_LOGIN не рекомендуется. Пожалуйста, используйте FORCE_SSL_ADMIN
FORCE_SSL_ADMIN используется, когда вы хотите защитить логины и область администрирования, чтобы пароли и файлы cookie никогда не отправлялись в открытом виде. См. также Administration_Over_SSL для более подробной информации.
define( 'FORCE_SSL_ADMIN', true );
Наверх ↑
Блокировать внешние URL-запросы
Заблокируйте внешние URL-запросы, указав WP_HTTP_BLOCK_EXTERNAL как true, и это позволит делать запросы только localhost и вашему блогу. Константа WP_ACCESSIBLE_HOSTS позволит дополнительным хостам проходить запросы. Формат константы WP_ACCESSIBLE_HOSTS представляет собой список разрешенных имен хостов, разделенных запятыми, поддерживаются домены с подстановочными знаками, например, *.wordpress.org позволит связаться со всеми поддоменами wordpress.org.
define( 'WP_HTTP_BLOCK_EXTERNAL', true ); define( 'WP_ACCESSIBLE_HOSTS', 'api.wordpress.org,*.github.com' );
Наверх ↑
Отключить автообновления WordPress
Возможна ситуация, при которой сайт не обновляется автоматически, например настройки или обновления, предоставляемые хостом. Это также можно сделать перед основным выпуском, чтобы дать время для тестирования в среде разработки или промежуточной среде, прежде чем разрешить обновление на рабочем сайте.
define( 'AUTOMATIC_UPDATER_DISABLED', true );
Наверх ↑
Отключить обновления ядра WordPress
Самый простой способ управлять обновлениями ядра — использовать константу WP_AUTO_UPDATE_CORE:
# Отключите все основные обновления: define( 'WP_AUTO_UPDATE_CORE', false ); # Включите все основные обновления, включая незначительные и крупные: define( 'WP_AUTO_UPDATE_CORE', true ); # Включить основные обновления для второстепенных выпусков (по умолчанию): define( 'WP_AUTO_UPDATE_CORE', 'minor' );
Ссылка: Отключение автообновлений в WordPress 3.7
Наверх ↑
Очистка при редактировании изображений
По умолчанию WordPress создает новый набор изображений каждый раз, когда вы редактируете изображение, а когда вы восстанавливаете оригинал, он оставляет все изменения на сервере. Определение IMAGE_EDIT_OVERWRITE как true меняет это поведение. Когда-либо создается только один набор изменений изображения, и когда вы восстанавливаете оригинал, изменения удаляются с сервера.
define( 'IMAGE_EDIT_OVERWRITE', true );
Наверх ↑
Дважды проверьте перед сохранением
Обязательно проверьте наличие начальных и/или конечных пробелов вокруг любого из указанных выше значений, и НЕ удаляйте одинарные кавычки!
Перед сохранением файла обязательно дважды проверьте, не удалили ли вы случайно ни одну из одинарных кавычек вокруг значений параметров. Убедитесь, что после закрывающего тега PHP в файле нет ничего. Последним в файле должно быть ?> и ничего больше. Без пробелов.
Чтобы сохранить файл, выберите File>SaveAs>wp-config.php и сохраните файл в корне установки WordPress. Загрузите файл на свой веб-сервер, и вы готовы к установке WordPress!
- Главная
- Форумы
- Техподдержка Drupal
- Установка и настройка
как переименовать или заменить базу сайта
Главные вкладки
- Просмотр(активная вкладка)
- Реакции
У меня есть работающий сайт на Друпале. Необходимо создать второй такой же, но с другим именем и наполнением. Оба сата будут лежать в одном месте. В том числе и по этому, необходимо переименовать папки сайта. С папкой в HOME проблем нет. А вот имя папки с базой надо где-то перелинковать.
- Drupal6
- Есть вопрос
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
DD 85
26 июня 2012 в 16:00
Chyvakoff
26 июня 2012 в 16:26
svaboev
26 июня 2012 в 16:47
Извините. Я написал что-то не понятное? Сайт связывается с конкретной базой по имени ее директории. Это имя мне нужно изменить. А соответственно изменить и ссылку на новое имя.
Chyvakoff
26 июня 2012 в 17:33
GDI@drupal.org
26 июня 2012 в 22:48
Вам нужен мультисайтинг.
Если коротко, то создаете в папке /sites (прямо там где у Вас уже стоит первый сайт на друпале) подпапку с именем второго сайта /sites/site2.ru (полное имя домена без www). В нее помещаете файл settings.php, шаблон которого должен лежать в /sites/default. В этом файле прописываете новую БД, а можно и старую, просто задать другой префикс. Настраиваете ДНС чтобы новый домен указывал на ту же папку где лежит первый сайт, т.е. оба домена site1.ru и site2.ru должны указывать в одну папку — папку с друпалом. Далее заходите на свой второй сайт и запускаете установку, по окончании у Вас будет второй независимый сайт. В папке /sites/site2.ru можно создать еще папки /files, /modules, /themes и положить туда модули и темы которые будут только для второго сайта, а файловую систему настройте на новую папку /files.
В такой конфигурации все модули и темы с первого сайта будут доступны для включения на втором, но это будет независимое от первого сайта включение. В общем получается полностью независимый сайт со своим дизайном и наполнением, но при этом устанавливается только одна копия друпала.
Другие варианты настройки мультисайтинга ищите в поиске.
svaboev
27 июня 2012 в 11:54
Спасибо, но у меня ситуация проще… На локальном сервере, при инсталляции Друпала, указывается ссылка на базу данных. Когда сайт уже создан, есть ли возможность изменить имя этой базы? Т.е. переключить на копию этой базы, но с другим именем? Практическая необходимость в следующем. У меня есть работающий сайт. Мне необходимо создать второй, такой же, но для других целей и с некоторыми изменениями. Это будут 2 разных, не связанных никак между собой, сайта.
Orion76
27 июня 2012 в 13:02
Вы сейчас будете смеяться… но это до ужаса просто-)))
в /sites/default/settings.php
ищете строчку вида:
$db_url = ‘mysqli://имя_пользователя_бд:пароль@Localhost/ИМЯ_БАЗЫ_ДАННЫХ’;
меняете ИМЯ_БАЗЫ_ДАННЫХ на нужное..
все..
Chyvakoff
27 июня 2012 в 13:03
orion76 wrote:
Вы сейчас будете смеяться… но это до ужаса просто-)))
в /sites/default/settings.php
ищете строчку вида:
$db_url = ‘mysqli://имя_пользователя_бд:пароль@Localhost/ИМЯ_БАЗЫ_ДАННЫХ’;меняете ИМЯ_БАЗЫ_ДАННЫХ на нужное..
все..
Чё ж ты так быстро тему прикрыл)) Ещё бы почитали ченибудь интересное))
Orion76
27 июня 2012 в 13:06
«Chyvakoff» wrote:
Ещё бы почитали ченибудь интересное
я и так, долго терпел..согласись?-))
svaboev
27 июня 2012 в 16:28
Ну, как показала практика, немножко в другом месте…
$db_url = ‘mysqli://root@localhost/ИМЯ БАЗЫ ДАННЫХ
А в общем, спасибо большое. Рад был доставить вам удовольствие в чтении. Хотя предпочел бы не тратить столько вашего драгоценного времени.
Orion76
27 июня 2012 в 18:51
«svaboev» wrote:
Рад был доставить вам удовольствие в чтении. Хотя предпочел бы не тратить столько вашего драгоценного времени.
Да не стоит обижаться… Просто немного пошутили..
А вам,я бы посоветовал, почитать про ОСНОВЫ установки и работы Друпал..
На подобные вопросы здесь обычно не отвечают..
Вам просто повезло..-))
Для запуска сайта на собственной платформе WordPress требуется множество обновлений. Вам следует часто обновлять версии, темы и плагины WordPress. Обычно эти обновления не требуют обновления базы данных. Но есть некоторые изменения, которые нужно изменить в вашей базе данных MySQL. В этой статье мы объясним, как искать и заменять слова в базе данных WordPress MySQL.
Зачем нужны модификации базы данных
Ниже приведены некоторые из примеров; вам может потребоваться модификация в базе данных.
Во всех вышеперечисленных случаях вам следует искать и заменять релевантные слова на всем сайте. Это простая задача для небольших сайтов. Когда ваш сайт очень большой и состоит из сотен страниц, невозможно найти все вхождения один за другим из внешнего визуального редактора WordPress. Единственный способ — найти все слова из базы данных и заменить их на нужные слова. Возьмем пример обновления сертификата SSL на вашем сервере. Это изменит URL-адрес вашего сайта с «http://www.yoursite.com«К»https: //www.yoursite.com«. Поэтому вам нужно найти все вхождения http и заменить их на https, чтобы иметь защищенный сайт, избегая проблемы смешанного содержимого.
3 способа поиска и замены базы данных MySQL в WordPress
- Использование плагина — просто, и вам не нужен доступ к вашей базе данных.
- Редактирование вручную через phpMyAdmin с помощью SQL-запроса — вы должны точно знать, что делаете, и иметь доступ к таблицам базы данных.
- Использование функции «Найти и заменить» в таблицах SQL.
Обсудим подробно все методы. Перед изменением базы данных четко определите, что вы собираетесь делать, и обязательно сделайте резервную копию, чтобы восстановить ее в экстренной ситуации. Также рекомендуется протестировать изменения на сайте localhost или промежуточном сайте вместо того, чтобы делать это непосредственно на действующем сайте.
1. Поиск и замена слов в базе данных MySQL с помощью плагина
Установить и активировать «Лучший поиск и замена»Из админ панели WordPress. Будет создан пункт меню под «Настройки»Со следующими параметрами.
Поиск и замена настроек плагина
- Перейдите к «Поиск / заменаВкладка плагина.
- Введите слово, которое вы хотите найти, в «Искать» текстовое окно.
- Введите слово, которым хотите заменить, в «Заменить» текстовое окно.
- Выберите таблицу базы данных, в которой вы хотите изменить слова. Вы можете выбрать несколько таблиц и заменить слова. Всегда выбирайте отдельную таблицу и вносите изменения, а не на уровне базы данных.
- По умолчанию вводимые слова чувствительны к регистру. Вы можете установить этот флажок, чтобы сделать поисковый запрос нечувствительным к регистру.
- Обязательно снимите флажок «Заменить GUID». Глобальный уникальный идентификатор не следует обновлять в таблице «wp_posts».
- Убедитесь, что вы запустили тестовый режим, чтобы увидеть, сколько изменений будет внесено в какие таблицы.
- Ударил «Запустить поиск / заменить», Чтобы запустить запрос.
Давайте рассмотрим пример переноса вашей жизни на локальный сервер. В этом случае вам следует заменить «http://www.yoursite.com«К»http: // localhost”Во всем содержимом сообщения, таблицах postmeta и опций.
- Введите версию http в «ИскатьТекстовое поле в пункте 2.
- Введите версию https в «ЗаменитьТекстовое поле в пункте 3.
- Выбрать «wp_posts»,«wp_postmeta» и «wp_options”В пункте 4. Если вы изменили префикс таблицы, вы должны увидеть таблицы с вашим пользовательским префиксом.
- Оставьте пункт 5/6 неотмеченным.
- Включите пробный прогон в пункте 7.
- Нажмите кнопку, чтобы запустить запрос.
Это заменит все вхождения действующего URL сайта на localhost.
Когда время вашего запроса истечет, уменьшите значение максимального размера страницы в разделе «Настройки»И повторите попытку.
2. Поиск и замена в таблицах базы данных SQL с помощью запроса
Одна из проблем описанного выше метода заключается в том, что плагин не отображает имена столбцов в таблице. В приведенном выше примере вы не увидите обновляемые столбцы, за исключением GUID. Ручной метод очень прост, и вы будете точно знать, какие изменения вы делаете, хотя требуются некоторые знания SQL-запросов.
В приведенном выше примере меняются три таблицы, и запрос должен быть примерно таким, как показано ниже. Само собой разумеется, что вы меняете старое значение на новое значение в заданном имени таблицы для данного столбца.
UPDATE wp_options SET option_value = replace(option_value, 'http://www.yoursitename.com', 'http://localhost') WHERE option_name="home" OR option_name="siteurl"; UPDATE wp_posts SET post_content = replace(post_content, 'http://www.yoursitename.com', 'http://localhost'); UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.yoursitename.com','http://localhost');
Войдите в свою учетную запись хостинга и перейдите к «phpMyAdmin» раздел. Выберите базу данных своего сайта и нажмите кнопку «SQL”Таб. Вы можете ввести запрос и нажать на значок «Идти», Чтобы запустить запрос.
Выполнение SQL-запроса на уровне базы данных
Вы можете видеть только значок «Имитация запроса»В базе данных localhost. База данных действующего сайта не имеет этой опции.
Вы также можете выбрать таблицу за таблицей и запустить запрос на уровне отдельной таблицы. Это рекомендуется, так как вы можете видеть имя столбца в поле. Например, выберите «wp_posts«И вставьте соответствующий запрос в»SQL”Таб. Ты можешь видеть «post_content»- одна из колонок под«Столбцы»Коробка. Выберите любой из обязательных столбцов для вставки в запрос, но убедитесь, что столбец имеет значение, которое вы хотите заменить.
Выполнение запроса на уровне таблицы
3. Поиск и замена слов в таблицах SQL
Последний вариант — использовать функцию «Найти и заменить» по умолчанию. Это простой и безошибочный способ без знания плагинов и SQL-запросов. Но вы можете заменить слова в отдельном столбце таблицы. Перейдите в phpMyAdmin и в базу данных, которую вы хотите обновить. Выберите нужное название таблицы и перейдите на вкладку «Поиск». Щелкните по кнопке «Найти и заменить». Введите слово, которое нужно найти, и слово замены. Выберите имя столбца, в котором вы хотите заменить слово.
Функция поиска и замены в таблице MySQL
Есть много функций сопоставления для сопоставления слов, вы можете выбрать = или LIKE в целом.
Использование функций сопоставления
Нажмите кнопку «Перейти», чтобы просмотреть предварительный просмотр изменений. Здесь можно понять, сколько строк будет затронуто заменой, и проверить содержимое каждой строки.
Функция поиска и замены в таблице SQL
Снова нажмите кнопку «Перейти», чтобы завершить замену, после чего отобразится сообщение об успешном выполнении, как показано ниже, с подробностями выполненного запроса.
Удачная замена слов
Поиск и замена на уровне базы данных
Все описанные выше методы работают на уровне отдельных таблиц, и нет простого способа обновить всю базу данных. Если вы хотите заменить слова на уровне базы данных, у вас есть длительный обходной путь. Выполняйте следующие шаги только в том случае, если вы понимаете, иначе вы можете повредить свою базу данных и потерять данные.
- Загрузите полную базу данных с phpMyAdmin в виде файла дампа SQL.
- Вы можете сделать это из cPanel с опциями резервного копирования базы данных, если ваша хостинговая компания предлагает эту функцию.
- Вы можете загрузить файл в формате ZIP или GZIP, чтобы сжать и загрузить его быстрее.
- Извлеките сжатый файл SQL и откройте его в своем любимом текстовом редакторе, например в Блокноте или TextEdit.
- Используйте обычную функцию поиска и замены, выполняя поиск слова с помощью «Ctrl + F» в Windows или «Cmd + F» в Mac. Затем замените найденное слово навалом.
- Обязательно измените имя базы данных на новое в дампе SQL и сохраните файл.
- Сожмите текстовый файл SQL обратно в формат ZIP или GZIP.
- Перейдите в раздел MySQL Databases в вашей cPanel и создайте новую базу данных с тем же именем, которое вы изменили в файле дампа SQL. Создайте нового пользователя и назначьте его базе данных.
- Перейдите в phpMyAdmin и выберите вновь созданную базу данных.
- Импортируйте сжатый дамп SQL обратно на сервер.
- Теперь измените детали базы данных и имени пользователя в файле «wp-config.php».
Вы сделали сейчас. Убедитесь, что ваш сайт работает, и теперь отображается ошибка при установке соединения с базой данных. Если вы видите ошибку, проверьте правильность пароля и данных базы данных в «wp-config.php».
Продолжаем серию уроков по работе с базами данных MySql. В этом уроке мы научимся редактировать информацию в базе данных MySql прямо из веб страницы.
Такие возможности могут Вам понадобиться, когда Вы предоставляете пользователю Вашего ресурса заполнять свой профиль, а также редактировать его. Также эти знания пригодятся, если Вы пишите администраторский раздел для сайта и хотите иметь возможность редактирования записей не заходя в базу данных.
В прошлых уроках мы создали базу данных MySql, заполнили ее, создали код для вывода информации из базы, а также для внесения новых записей в базу прямо из веб страницы.
В данном уроке я продолжу использовать уже имеющуюся структуру файлов. Все файлы данного урока есть в исходниках к этому уроку.
Итак, давайте начнем!
Редактируем запись в базе данных MySql из веб страницы.
Что нам нужно сделать?
1. Создаем кнопку, которая будет запрашивать все записи из базы.
2. Создать файл, в котором списком будут выводиться все имеющиеся в базе данных записи (для того, чтобы выбрать ту, которую хотим редактировать).
3. При выборе определенной записи в работу включается файл-обработчик, который забирает из базы данных всю информацию по нужной нам записи.
4. Выбранная информация вставляется в поля формы для редактирования, которую мы создадим.
5. После редактирования, при помощи определенного SQL-запроса информация отправляется на обновление в базу данных MySql.
1. Первое, что мы сделаем – это создадим файл “select_change.php” и разместим его в том же каталоге, что и все наши основные файлы (то есть в основном каталоге).
Пока мы не начали с ним работать давайте откроем файлы: “search_user.html”, “info_form.html”, “select_user.php”, “all_users.php” и добавим ссылку на этот файл для того, чтобы он был доступен из всех файлов нашего приложения (это для удобства, чтобы каждый раз не прописывать его адрес в адресной строке, когда мы будем тестировать наши веб страницы).
Добавляем следующую строку в каждый из файлов перед закрывающим тегом body.
<a href="select_change.php">Редактировать запись базы данных</a>
2. Теперь откроем сам файл “select_change.php”. Мы будем выводить только имя и фамилию из базы для выбора пользователя, информацию о котором мы хотим редактировать.
Для этого сначала мы сформируем запрос к базе данных, который скажет выбрать все записи из базы, а затем выведем списком имена и фамилии каждого человека.
Выводить данные мы будем как радиокнопки. Это мы делаем для того, чтобы можно было выбрать пользователя (притом только одного).
Из базы мы будем запрашивать только 3 параметра: это id, first_name, last_name. Последние два будут выводиться на экран для того чтобы мы могли определиться какую информацию из базы данных будем редактировать. Параметр же id будет невидим (он будет значением атрибута value), но он необходим для того, чтобы программа могла идентифицировать в базе данных выбранный элемент (фамилии и имена могут повторяться, а id всегда индивидуален).
Обратите также внимание на способ вывода информации в этом файле. Вы можете увидеть такие символы как %s.
Принцип здесь такой: в двойных кавычках в функции “printf” выводится html код, вместо определенной переменной (например, такой как “$row[‘first_name’]”) мы ставим якоря – %s. А после того как закрылись двойные кавычки, мы перечисляем эти переменные, соответствующие поставленным якорям. Это удобно, когда работаешь с функцией “printf”, однако следует следить за порядком якорей и перечисляемых переменных, так как они будут подставлены именно в том порядке, в котором Вы их перечисляете.
Все это заключено в тег формы, в которой action=”edit.php”. Файл edit.php мы создадим в следующем шаге.
Итак, код нашего файла “select_change.php” будет выглядеть следующим образом:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <link rel="stylesheet" href="style.css" type="text/css"> <title>Выбор пользователя для редактирования.</title> </head> <body> <form action="edit.php" method="post"> <fieldset> <?php require 'scripts/connect.php'; $select_sql = "SELECT id, first_name, last_name FROM users"; $result = mysql_query($select_sql); $row = mysql_fetch_array($result); do { printf("<input type='radio' name='user' value='%s'>%s %s<br/><br/>", $row['id'], $row['first_name'], $row['last_name']); } while($row = mysql_fetch_array($result)) ?> </fieldset> <fieldset> <input type="submit" value="Выбрать элемент"> </fieldset> </form> <a href="info_form.html">Добавить пользователя</a><br/><br/> <a href="search_user.html">Вернуться к поиску</a><br/><br/> </body> </html>
А если загрузить страницу в браузере, то можно увидеть примерно следующее:
3. Создайте файл “edit.php” и поместите его там же в основном каталоге.
Этот файл является файлом-обработчиком нашего предыдущего файла. В нем будет выводиться форма и автоматически заполняться информацией из базы данных MySql той записи, которую мы выбрали.
Кроме того, в этой форме можно будет изменить один или несколько параметров (например, имя, фамилию и т.д.).
Во-первых, программа должна понимать, какую запись Вы от нее требуете. А для этого должен быть передан параметр id. Имя для input в прошлом файле мы дали – ”user”, там же у нас хранится в атрибуте value нужный id. А следовательно получить его можно запросив при помощи “$_REQUESR[‘user’]”. И далее занести результат в переменную ”$id”.
Во-вторых, нужно сформировать запрос, который будет выводить из нашей таблицы базы данных всю информацию о записи с указанным идентификатором.
В-третьих, нужно исполнить этот запрос и вывести каждый параметр в предусмотренное для него поле (в атрибутах value).
Вот код всего вышеописанного:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <link rel="stylesheet" type="text/css" href="style.css"> <title>Вносим изменеиния</title> </head> <body> <?php require 'scripts/connect.php'; $id = $_REQUEST['user']; $select_sql = "SELECT * FROM users WHERE id= $id"; $result = mysql_query($select_sql); $row = mysql_fetch_array($result); printf("<form action='scripts/update.php' method='post' name='forma'> <fieldset> <input type='hidden' name='id' value='%s'><br/> <label for='first_name'>Имя:</label><br/> <input type='text' name='first_name' size='30' value='%s'><br/> <label for='last_name'>Фамилия:</label><br/> <input type='text' name='last_name' size='30' value='%s'><br/> <label for='email'>Email:</label><br/> <input type='text' name='email' size='30' value='%s'><br/> <label for='facebook'>Facebook</label><br/> <input name='facebook' type='text' size='30' value='%s'> </fieldset> <br/> <fieldset> <input id='submit' type='submit' value='Редактировать запись'><br/> </fieldset> </form>",$row['id'], $row['first_name'], $row['last_name'], $row['email'], $row['facebook']); ?> <a href="info_form.html">Добавить пользователя</a><br/><br/> <a href="search_user.html">Вернуться к поиску</a><br/><br/> <a href="select_change.php">Вернуться к выбору записей для редактирования</a><br/><br/> </body> </html>
Обратите внимание, что у нашей формы action=’scripts/update.php’. Этот файл мы создадим в следующем шаге.
Также обратите внимание на то, что параметр id также передается, но мы его не увидим, так как ему присвоен type=’hidden’. Передать его нужно, но лучше не давать возможности его менять, чтобы не допустить ошибок.
А вот и результат, которого мы пока что достигли:
4. Что же, осталось совсем немного!
Нужно создать файл update.php и положить его в папку со скриптами.
Что будет делать данный файл?
Он получит из предыдущего файла все введенные значения и каждое занесет в переменную.
Потом он сформирует запрос к базе данных, в котором попросит обновить запись с учетом переданного идентификатора, подставив в соответствующее поле соответствующую переменную.
После он отправит запрос на исполнение и выведет нам результат в виде текстового сообщение (либо все прошло хорошо, либо произошла ошибка).
Вот код этого файла:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <link rel="stylesheet" type="text/css" href="../style.css"> <title>Untitled Document</title> </head> <body> <?php require 'connect.php'; $id=$_REQUEST['id']; $first_name=trim($_REQUEST['first_name']); $last_name=trim($_REQUEST['last_name']); $email=trim($_REQUEST['email']); $facebook=trim($_REQUEST['facebook']); $update_sql = "UPDATE users SET first_name='$first_name', last_name='$last_name', email='$email', facebook='$facebook' WHERE id='$id'"; mysql_query($update_sql) or die("Ошибка вставки" . mysql_error()); echo '<p>Запись успешно обновлена!</p>'; ?> <a href="../info_form.html">Добавить пользователя</a><br/><br/> <a href="../search_user.html">Вернуться к поиску</a><br/><br/> <a href="../select_change.php">Вернуться к выбору записей для редактирования</a><br/><br/> </body> </html>
А вот и результат работы этого скрипта:
Итак, на данный момент (если Вы прошли все 4 урока этой серии) у Вас есть приложение, с помощью которого Вы можете добавлять новые записи в базу данных, выводить их в списке, либо искать и выводить по нужным имени и фамилии, а также редактировать уже имеющиеся записи.
Согласитесь, не мало. И все это не заходя в саму базу. Все происходит из веб страниц.
В следующем уроке я расскажу Вам как удалять, выбранные записи из базы данных.
Если Вы еще не подписались на обновление блога, то обязательно подписывайтесь, чтобы не пропустить новые уроки.
Также жду Ваших отзывов и комментариев.
Удачи Вам, и до встречи в следующем уроке!
На виртуальном хостинге Eternalhost можно создать базы данных, работающие на системах управления MySQL 5.5.60 и MariaDB 10.3.
Далее рассмотрим, как создать новую базу данных на двух этих системах. Также опишем, как перевести существующий сайт с MySQL 5.5.60 на MariaDB 10.3.
Выбор типа сервера при создании новой базы данных
Создание новой базы данных рассмотрено в отдельной инструкции, поэтому подробно рассматривать этот процесс здесь не будем.
При создании базы данных в панели управления хостингом ISPmanager, можно изменить тип её сервера в меню настройки «Новая база данных». Для этого нужно выбрать один из возможных вариантов типа системы управления БД во вкладке «Сервер базы данных».
Для установки MySQL 5.5.60 — «MySQL».
Для установки MariaDB 10.3 — «mariadb-10.3».
При создании нового сайта в параметрах сервера базы данных нужно указать значение, соответствующее созданной ранее БД:
- Для MySQL 5.5.60 – «localhost».
- Для MariaDB 10.3 – «127.0.0.1:3310».
Изменение существующего сервера базы данных
Рассмотрим процесс смены системы управления БД на примере перехода от MySQL 5.5.60 к MariaDB 10.3.
- Для начала, нужно скачать существующую базу данных на локальный компьютер. Для этого в ISPmanager перейти из раздела «Главное» в «Базы данных», выбрать текущую базу данных на MySQL 5.5.60 и кликнуть «Скачать» в верхнем меню.
- Создать новую базу данных. В поле «Сервер баз данных» указать «mariadb-10.3» для установки MariaDB 10.3.
- Закачать ранее сохранённую базу данных в новую базу данных на MariaDB 10.3. Для этого в ISPmanager перейти с вкладки «Главное» в раздел «Базы данных», выбрать базу данных на MariaDB 10.3 и кликнуть «Закачать» в верхнем меню.
- Изменить параметры базы данных в конфигурационных файлах сайта. Для этого в ISPmanager перейти в «WWW» → WWW-домены, выбрать нужный домен и нажать «Каталог» в верхнем меню.
Далее нужно действовать, согласно установленной CMS. Ниже рассмотрим варианты изменения конфигурационных файлов для самых популярных CMS: WordPress, Joomla и Opencart.
Правка конфигурационного файла WordPress
Выбрать в списке на вкладке «Файлы сайта» файл «wp-config.php» и нажать «Редактирование» → «Открыть» в верхнем меню.
Ввести в файл данные, соответствующие новой базе данных:
define('DB_NAME', 'Имя новой базы данных'); define('DB_USER', 'Пользователь данной БД'); define('DB_PASSWORD', 'Пароль от данной БД'); define('DB_HOST', '127.0.0.1:3310');
Правка конфигурационного файла Joomla
Выбрать в списке на вкладке «Файлы сайта» файл «configuration.php» и нажать «Редактирование» → «Открыть» в верхнем меню.
Ввести в файл данные, соответствующие новой базе данных:
public $host = '127.0.0.1:3310'; public $user = 'Пользователь данной БД'; public $password = 'Пароль от данной БД'; public $db = 'Имя новой базы данных';
Правка конфигурационного файла Opencart
Выбрать в списке на вкладке «Файлы сайта» файл «config.php» и нажать «Редактирование» → «Открыть» в верхнем меню.
Ввести в файл данные, соответствующие новой базе данных:
define('DB_HOSTNAME', '127.0.0.1:3310'); define('DB_USERNAME', 'Пользователь данной БД'); define('DB_PASSWORD', 'Пароль от данной БД'); define('DB_DATABASE', 'Имя новой базы данных');
Затем аналогичные изменения можно внести во второй конфигурационный файл Opencart, который находится по пути «Файлы сайта» → папка «admin» → файл «config.php».
Файл wp-config.php находится в корневой папке сайта и является главным конфигурационным файлом Вордпресс.
Основной фунционал файла — подключение базы данных, хранение секретных ключей для шифрования информации (ключи и соли), установка префикса базы данных, включение режима debug и указание пути к папке Вордпресс.
Это стандартный функционал файла, но в него можно добавить свои команды для включения дополнительных функций. Например, увеличение лимита памяти, ограничение ревизий постов или автоматическая очистка корзины.
В этой статье вы узнаете о стандартных функциях wp-config.php и о том, какие дополнительные функции можно в него добавить.
Содержание:
Что такое wp-config.php
Константы Вордпресс
- Стандартное содержание файла wp-config.php
- Ключи и соли
- Префикс базы данных
- Режим debug
- Дополнительный функционал wp-config.php
- URL сайта
- Изменение файловой структуры Вордпресс
- Тема по умолчанию
- Ревизии постов, автосохранение и корзина
- Собственные таблицы user и usermeta
- Увеличение лимита PHP памяти
- Мультисайт
- Отключение редактирования файлов в админке Вордпресс
- Настройки режима отладки
- Настройки cron расписания
- Использование SSL на странице логина и в админке
- Автообновление Вордпресс
- Оптимизация базы данных
Заключение
WP-config.php — главный файл сайта, который используется для
- настройки соединения с базой данных
- настройки производительности сайта
- усиления безопасности сайта
По умолчанию в свежей установке Вордпресс нет файла wp-config. Вместо него есть пустой шаблон wp-config-sample.php, в котором находятся незаполненные поля установки соединения с базой данных, ключей, префикс БД и так далее.
Актуальную версию файла wp-config-sample.php вы можете посмотреть / скачать из гитхаб репозитория WordPress:
Обычно его не заполняют вручную, Вордпресс делает это автоматически во время установки сайта.
Константы Вордпресс
В файле wp-config можно использовать php константы для выполнения определенных задач. У Вордпресса есть множество констант, которые можно использовать.
В документации PHP константа описывается так:
«Константа — это идентификатор (имя) для простого значения. Как следует из названия, их значение не может измениться в ходе выполнения скрипта (кроме магических констант, которые на самом деле не являются константами). Имена констант по умолчанию чувствительны к регистру. По принятому соглашению, имена констант всегда пишутся в верхнем регистре.»
То есть, вы можете дать имя какому-то параметру. Этот параметр может быть использован глобально на всем сайте нужное количество раз. Константа должна начинаться с буквы, должна быть написана заглавными буквами и может иметь символ подчеркивания.
Константа WP_DEBUG, — начинается с буквы, написана заглавными буквами и имеет символ подчеркивания.
Константы обернуты в функцию define()
:
Файл wp-config.php загружается до файлов ядра Вордпресс, то есть если вы измените значение какой-то константы, то изменения коснутся всего сайта. Вы можете включить или выключить какую-то функцию, изменив ее значение с true
на false
, или наоборот.
Документация по файлу wp-config.php в Кодексе Вордпресс. Большинство функций из документации описаны в этой статье.
Сделайте бэкап wp-config перед изменениями.
I. Стандартное содержание файла wp-config.php
Если вы устанавливаете Вордпресс через FTP, то Вордпресс просит заполнить эти поля:
Замените префикс таблиц базы данных на какой-нибудь свой, например, az13kn_
.
Если вы заполняете файл вручную, заполните эти строки:
Кодировка нужна для использования Вордпресс на другом языке. Используйте UTF8, потому что эта кодировка поддерживает все языки и имеет специальные символы, например á
или ≥
.
Сопоставление определяет как строки сравниваются в базе данных, некоторые сопоставления могут быть чувствительны к реестру. Оставьте как есть.
1. Ключи и соли
Ключи безопасности — это набор случайных символов, которые используются для шифрования информации, хранящейся в кукис браузера.
Соли — еще один набор случайных символов, которые используются для хеширования паролей.
Вы можете использовать генератор ключей Вордпресс для заполнения этих полей.
Для увеличения безопасности можно 1-2 раза в год менять эти ключи.
- Ключи и соли Вордпресс
2. Префикс базы данных
В мастере установки Вордпресс можно изменить префикс базы данных, то же самое можно сделать вручную в wp-config.php.
Замените wp_
на что-нибудь уникальное. После изменения префикса базы данных нужно будет сделать несколько изменений в базе данных.
- Как изменить префикс базы данных
3. Режим debug
По умолчанию режим debug выключен, оставьте его выключенным:
Если вы работаете над сайтом и ищите ошибку или получили белый экран, включите режим debug, заменив false
на true
. Выключите режим отладки после того, как закончите работу, потому что некоторая информация о сайте будет отображаться во фронт-энде или сохраняться в файл.
- Режим отладки Вордпресс
II. Дополнительный функционал wp-config.php
Как и в другие php файлы, вы можете добавить свой код в wp-config. Добавляйте аккуратно, потому что одна ошибка может положить сайт.
В начале каждого снипета стоит тег <?php
, его можно убрать, так как он уже есть в wp-config.php.
Добавляйте свой код до строки:
1. URL сайта
В настройках Вордпресс вы указываете адрес Вордпресс и адрес сайта.
Эти данные хранятся в базе данных, и каждый раз, когда кто-то запрашивает страницу сайта, создается запрос к базе данных. В Вордпресс 2.2 были добавлены функции WP_HOME
и WP_SITEURL
. Эти функции имеют приоритет перед записями в базе данных.
Замените http://ваш-сайт.ru
на ваш URL. Добавьте «s» в http
, если у вас https.
Если вы добавите этот код в wp-config, это уменьшит количество запросов к базе данных на 1, сайт будет работать немного быстрее. При создании страницы обычно создается несколько десятков запросов к базе данных.
2. Изменение файловой структуры Вордпресс
Вы можете изменить стандартное расположение папок wp-content
, plugins
и uploads
и создать новую папку для тем. Это делается для того, чтобы не использовать стандартную структуру папок Вордпресс, информация о которой находится в открытом доступе. Если вы перенесете эти папки в другие места, это повысит безопасность сайта.
Для папок wp-content
и plugins
нужно указать абсолютный путь и полный URL. Для plugins
нужно указать PLUGINDIR
, чтобы не было проблем с совместимостью.
Папка uploads
всегда привязана к ABSPATH
, поэтому слеш перед extensions/uploads
не требуется. Эту папку нельзя перенести из папки wp-content (extensions), но можно переименовать. Подробнее читайте в статье про изменение файловой структуры Вордпресс.
Папка themes
привязана к папке wp-content
, но можно создать еще одну папку для тем. В этом примере папка называется wprs-themes
и находится в корневой директории.
Если Вордпресс расположен в папке public_html
, то новая структура будет выглядеть так:
- ваш-сайт.ru
- wp-admin
- wp-content
- plugins
- themes
- uploads
- wp-includes
- ваш-сайт.ru
- extensions
- plugins
- themes
- wprs-themes
- uploads
- wordpress
- wp-admin
- wp-includes
- extensions
Стандартная структура WP слева и структура из примера справа
Кроме этих папок есть еще одна стандартная папка, которая называется mu-plugins, Must Use Plugins, то есть плагины обязательные для использования.
Если у вас есть эта папка, вы можете ее перенести с помощью этого кода:
Замените название папки impmu-plug
на свое название.
- Как изменить структуру файлов и папок.
3. Тема по умолчанию
В Вордпресс тема по умолчанию — 20ХХ. Если что-то случится с вашей активной темой, то загрузится тема по умолчанию. Чтобы сменить тему по умолчанию, добавьте эти строки в wp-config:
4. Ревизии постов, автосохранение и корзина
В Вордпрессе 2.6 появилась функция ревизии постов, которая делает авто-сохранение постов на тот случай, если зависнет браузер или компьютер. Или если вы хотите загрузить предыдущую версию контента.
Укажите количество ревизий, которое вы хотите хранить в базе данных:
Если вы хотите полностью отключить ревизии, замените 5
на false
:
По умолчанию Вордпресс делает авто-сохранение каждые 60 секунд, если вы хотите изменить интервал автосохранения, укажите свое время в секундах:
После того, как вы удалили статью в Корзину, она будет находиться там по умолчанию 30 дней, после этого она будет полностью удалена из базы данных. Вы можете изменить интервал очистки корзины, например, до 5 дней:
Если вы хотите полностью отключить Корзину — поставьте 0, тогда контент будет удаляться сразу без помещения в Корзину.
5. Собственные таблицы user и usermeta
По умолчанию Вордпресс сохраняет все данные пользователей в таблицы wp_users и wp_usermeta. Для увеличения безопасности можно использовать таблицы с произвольным именем, вы можете их создать с помощью этого кода:
Измените clients
и clientsmeta
на свое название. Перед тем как делать изменения, прочитайте описание функций в кодексе Вордпресс.
6. Увеличение лимита PHP памяти
Вы могли получить ошибку лимита php памяти. Чтобы увеличить лимит памяти, добавьте эту строку:
7. Вордпресс Мультисайт
Мультисайт позволяет создавать отдельные сайты, которые используют одну и ту же установку Вордпресс. Это используется, когда владельцы сайтов хотят, чтобы магазин, блог или сайт компании находились на субдоменах или в разных подпапках. Некоторые сайты создают субдомены для каждого пользователя, и так далее.
Чтобы создать мультисайт, добавьте эту константу в wp-config:
После того, как вы добавили этот код, в разделе Инструменты в админке Вордпресс появится новая строка Мультисайт. Следуйте инструкциям на этой странице. Вордпресс попросит добавить настройки в файл wp-config и .htaccess. После этого выйдите из админки и зайдите снова, вы должны увидеть админку мультисайта. Подробнее о Мультисайте читайте в кодексе Вордпресс.
Настройки мультисайт установки позволяют делать редирект пользователей, которые пытаются попасть на несуществующий субдомен. Чтобы перенаправлять этих пользователей на главный сайт, добавьте это правило:
8. Отключение редактирования файлов в админке Вордпресс
В обычной или Мультисайт установке можно отключить возможность редактировать файлы тем и плагинов:
Или отключить возможность пользователям устанавливать или обновлять темы и плагины:
Функция DISALLOW_FILE_MODS
также отключает редактирование файлов в админке.
9. Настройки режима отладки
В wp-config.php есть несколько настроек, которые помогают находить ошибки. Основная функция — WP_DEBUG
, которая находится в этом файле по умолчанию.
Если вы планируете модифицировать css или js, включите эти режимы:
По умолчанию скрипты объединены в один файл и минифицированы. Файлы объединяются для ускорения загрузки, — один объединенный файл скачается быстрее, чем 20 по отдельности. При минификации из кода страницы убираются пробелы, переносы строк и комментарии. Как это выглядит можно посмотреть здесь. Эти два метода ускоряют загрузку страниц.
Чтобы найти нужный файл, который вызывает проблему, сначала нужно отключить минификацию и объединение. Эта функция включает отладку скриптов и отключает минификацию и объединение.
Иногда ошибки появляются при определенных обстоятельствах, тогда в режиме отладки можно не найти ошибку. В этом случае надо смотреть логи событий. Включите логи событий:
Логи событий будут сохраняться в файл debug.log
в папке wp-content
.
Также вы можете включить сохранение sql запросов, которые Вордпресс делает к базе данных. Добавьте эту функцию в wp-config.php:
и этот код в футер вашей темы:
- Режим отладки Вордпресс
10. Настройки cron расписания
Cron — это расписание заданий, которые запускаются в определенное время или с определенной периодичностью. Вордпресс запускает определенные задачи согласно своему расписанию, например, публикует страницы в назначенное время, проверяет обновления, сбрасывает кеш и так далее.
В Вордпрессе некоторые задачи в крон расписании выполняются не в точно назначенное время, а в зависимости от посещений сайта. Например, если какая-то задача назначена на 12.00, то она выполнится когда на сайт зайдет первый посетитель, например, в 12.30.
Если у вас появилась проблема с cron заданиями, например, сайт не проверяет обновления, попробуйте использовать альтернативный крон метод:
Если нужно, вы можете полностью отключить крон:
Или изменить интервал между назначенными работами:
11. Использование SSL на странице логина и в админке
В документации wp-config.php есть 2 функции, которые позволяют использовать SSL. FORCE_SSL_LOGIN
включает использование SSL на страницах авторизации, но не в админке Вордпресс. Это добавляет защиты и не замедляет работу в админке.
FORCE_SSL_ADMIN
включает SSL на страницах логина и в админке Вордпресс.
Если вы будете использовать FORCE_SSL_ADMIN
, то FORCE_SSL_LOGIN
можно удалить из правила.
12. Автообновление Вордпресс
Начиная с версии Вордпресс 3.7 минорные обновления устанавливаются автоматически. Для безопасности рекомендуется оставить автообновление ядра включенным.
Если вы хотите выключить автообновление, добавьте эту строку:
Или используйте функцию WP_AUTO_UPDATE_CORE
:
- Ручное и Автоматическое обновление Вордпресс, плагинов, тем и переводов
- Почему у вас должна быть последняя версия Вордпресс
13. Оптимизация базы данных
В Вордпресе 2.9 появилась функция оптимизации и восстановления базы данных. Добавьте:
Сохраните файл и наберите адрес:
http://www.ваш-сайт.ru/wp-admin/maint/repair.php
Если ваша база данных повредилась, и вы не можете войти на сайт, попробуйте восстановить ее этой опцией и зайдите на сайт еще раз. После получения отчета о восстановлении базы данных удалите эту функцию из wp-config, чтобы посторонние не видели информацию с этой страницы, например, не могли узнать префикс базы данных.
Кроме этого способа, вы можете попытаться восстановить базу данных на хостинге в phpMyAdmin, результат будет такой же, потому что они используют одну и ту же функцию.
Заключение
WP-config.php — главный конфигурационный файл сайта, в котором находятся основные настройки сайта.
Для защиты этого файла от хакеров дайте ему права доступа 400. Если сайт стал недоступен, дайте 440. Это зависит от настроек сервера.
- Права доступа к файлам и папкам
Для усиления защиты вы можете перенести wp-config на один уровень вверх. Никаких настроек делать не нужно.
Или вы можете запретить доступ к этому файлу, если добавите это правило в .htaccess:
- Редактирование .htaccess для безопасности Вордпресс
***
По этой ссылке находится крутейший генератор снипетов для wp-config.php.
Читайте также:
- Настройки wp-config.php для безопасности Вордпресс
- Файл functions.php
Надеюсь, статья была полезна. Оставляйте комментарии.
Для того, чтобы переименовать базу данных сайта, работающего под CMS Joomla 3 нужно учесть некоторые, кажущиеся незначительным, но играющие важную роль, делали. В этой статье подробно рассмотрено, как произвести переименование базы данных без создания её дубля или ещё каких хитростей. Для того понадобится доступ к базе данных (для изменения её имени) и к файловому менеджеру (для внесения правок в конфиг-файл Joomla).
При попытке поменять имя базы данных в основных настройках Joomla через админку, ничего не получается сделать. Рассмотрим подробнее, почему.
Откроем в админке вкладку «Сервер» общих настроек Joomla. В разделе «Настройка базы данных» поменяем значение поля «Имя базы данных» и попробуем сохранить изменения:
Если базы данных с новым именем нет на сервере (а её нет, никто её не создавал). К тому же у этой новой базы данных должны совпадать имя пользователя, его пароль и префикс таблиц… В общем, базы данных нет и Joomla выдаст ошибку:
Ошибка
Не удаётся подключиться к базе данных
Что вполне логично. =)
Поэтому решить «в лоб» задачу переименования базы данных не выйдет.
Почему переименованную базу данных нельзя прописать в админке
Выше было описано, чего делать можно, но что не имеет смысла, так как не получится.
Теперь идём на сервер и переименовываем базу данных, например, используя ISP-панель сервера, как описано в → этой статье.
После того, как имя БД изменено, то при попытке загрузить админку, получим то, что сайт (и админка) перестали работать. Потому, что они пытаются получить доступ к базе данных со старым именем и у них это конечно не получается.
Вылазит такая вот ошибка:
Error displaying the error page
Или нечто подобное.
Стало быть сейчас мы имеем базу данных с новым именем, но внести его (имя новой базы данных) через админку не можем, так как админка до сих пор пытается подключиться к базе данных со старым именем.
Вносим изменения в конфиг-файл configuration.php
Joomla напрямую
Всё что осталось, — это прописать имя новой базы данных в конфиг Joomla. Для этого нам потребуется доступ к файлу configuration.php
для внесения в него правок. Можно воспользоваться ISP-manager и отредактировать файл в нём или другим способом (по ftp, ssh или ещё каким способом).
Важно!
Ещё один подвох Joomla в том, что она выставляет права на файл
configuration.php
(chmod)444 [-r--r--r--]
. А этих прав достаточно только для чтения фала, но никак не для записи в него. Поэтому первым делом выставляем chmod644 [-rw-r--r--]
и только после этого начинаем его править.
Для того, чтобы найти файл configuration.php
нужно зайти в корневую директорию сайта (не сервера, а именно сайта), — он там. Точно! =)
Итак, найдя configuration.php
и выставив перво-наперво ему chmod 644 [-rw-r--r--]
, открываем его и ищем строчку
public $db = 'old-name-database';
У меня в конфиге она 18-я. Не думаю, что она будет слишком далеко от начала. Наша задача поменять старое имя на новое и сохранить configuration.php
с новым именем базы данных:
public $db = 'new-name-database';
Ура! Всё заратало! =)
Если всё сделано правильно, то сайт и админка сайта начинают снова открываться и работать.
Вроде написал про все подводные камни при изменении базы данных сайта. Если что-то не получается, значит нужно внимательно проверить совпадение фактического имени БД и того, что прописано в конфиге. Должно получиться. На самом деле, всё очень просто! =)
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Выберите, то, чем пользуетесь чаще всего:
Вы только что стали жертвой взлома вашего сайта WordPress?
Вам нужно изменить все в своем блоге WordPress. Это изменение повлияет на все ключи доступа, а также на имя базы данных вашей установки WordPress.
Если вы никогда не устанавливали WordPress, откройте для себя Как установить WordPress блог шаги 7 et Как найти, установить и активировать WordPress тему на своем блоге
Но в этом уроке я покажу вам, как изменить имя вашей базы данных WordPress.
1. Доступ к вашему PhpMyAdmin
Это инструмент управления базами данных, предоставляемый большинством веб-хосты; так что вы найдете его на своем «CPanel». Первым шагом будет изменение имени вашей базы данных на этом инструменте.
Вы помните название своей базы данных? Если нет, вы всегда можете получить его из файла «wp-config.php» в корне вашей установки WordPress.
После получения имени вашей базы данных, которое должно соответствовать списку баз данных в вашей установке в инструменте администрирования » PhpMyAdmin .
Откройте для себя 5 WordPress плагины очистить базу данных вашего сайта
После нажатия на название вашей базы данных, вы должны нажать на » операции ». На этой новой странице вам необходимо зарегистрировать новое имя вашей базы данных в разделе » Переименуйте базу данных следующим образом .
В этом примере мы переименовали базу данных wp_bdd_nouveau ». После этого нажмите » выполнять ». Окно попросит вас подтвердить ваши действия. После этого база данных будет иметь новое имя.
Если вы подозреваете, что ваша база данных является причиной медленной работы вашего сайта, узнайте Как оптимизировать базу данных, нажав на WordPress
Ремарка : в настоящий момент ваш блог недоступен. WordPress не может получить доступ к базе данных. Пришло время изменить имя базы данных в файле » WP-config.php .
2. Как изменить назначение пользователя
На большинстве веб-хостов все базы данных обычно назначаются пользователям. После редактирования базы данных, больше пользователей не будут назначены на базу данныхпоэтому важно переназначить пользователя в эту базу данных.
Вы должны нажать на » привилегии Для доступа к интерфейсу конфигурации привилегий пользователя SQL.
советоваться Как дублировать базу данных WordPress с помощью phpMyAdmin чтобы защитить последний
Затем нажмите » Новый пользователь », Откроется новое окно.
В этом окне вы сможете указать:
- Имя (убедитесь, что вы указали имя пользователя, которое трудно найти)
- Заинтересованный клиент (по умолчанию «%» для всех клиентов)
- Пароль (Вы можете нажать на кнопку генерировать »Ниже создать сложный пароль)
Ниже, в разделе « Глобальные привилегии ”, Вы можете определить, каковы привилегии пользователя SQL. Но чтобы не усложнять себе жизнь, на этот раз попрошу выбрать все привилегии, нажав на кнопку » Просто проверьте .
Откройте для себя Как исправить проблемы с WordPress файлов базы данных и
Ремарка : вы должны убедиться, что все флажки установлены. Также не забудьте сохранить где-нибудь имя пользователя и пароль.
После этого нажмите » выполнять Опустить вниз.
Откройте файл сейчас WP-config.php И измените имя и пароль пользователя.
Ремарка : Не забудьте сохранить изменения между кавычками.
Процесс этот не очень деликатный, априори, если следовать всем инструкциям до буквы, проблем возникнуть не должно. Однако я попрошу вас сделать резервную копию вашей базы данных, чтобы предотвратить непоправимое.
Откройте для себя также некоторые темы и премиальные плагины WordPress
Вы можете использовать другие темы и WordPress плагины чтобы придать современный вид и оптимизировать обработку вашего блога или веб-сайта.
Здесь мы предлагаем вам несколько премиальных плагинов и тем WordPress, которые помогут вам в этом.
1. Mega Menu Monster
Mega Menu Monster — это Плагин WordPress премиум, который позволит вам добавить мегаменю на ваши страницы в WordPress. Даже если его использование гораздо больше подходит для меню заголовков, факт остается фактом: этот плагин также позволяет использовать его в нижнем колонтитуле.
Среди его функций мы находим среди прочего: поддержку всех современных браузеров, отзывчивость на всех устройствах, макетширокие возможности настройки (фон, цвета, шрифты) и многое другое.
скачать | Демонстрация | веб-хостинг
2. Сетка
Сетка — это Плагин WordPress grid premium, который позволяет вам демонстрировать все типы сообщений в полностью настраиваемой и гибкой сетке. Он идеально подходит для отображения вашего блога, портфолио, продуктов электронной коммерции или любых типов записей WordPress.
Этот плагин поддерживает следующие форматы файлов: стандартный, видео, аудио, галерея, ссылка, цитата. Возможности бесконечны и легко управляются с помощью мощной панели управления.
Grid — один из самых продвинутых плагинов для сетки в WordPress, а также единственный со 100% сенсорным слайдером. Вы можете фильтровать любую сетку в этом уникальном сенсорном слайдере. Плагин легко интегрируется в WordPress тема и в индивидуальном стиле…
скачать | Демонстрация | веб-хостинг
3. Портфолио Дизайнер
Portfolio Designer — еще один отличный вариант премиум-класса, если вы хотите создать портфолио или галерею изображений. Просто установите этот плагин и используйте опции для создания вашего портфолио.
Выберите сетку, ползунок или выравнивание макета, добавьте разбиение на страницы, загрузите изображения вручную или автоматически, добавьте ссылки заголовков, границы, тени и пользовательские цвета и, наконец, выберите из более чем 50 эффектов изображение и наведите указатель мыши.
Созданное портфолио будет полностью совместимо со всеми браузерами и мобильными устройствами.
скачать | Демонстрация | веб-хостинг
Рекомендуемые ресурсы
Узнайте о других рекомендуемых ресурсах, которые помогут вам создать и управлять своим сайтом.
- Как объединить две базы данных WordPress
- 6 WordPress плагин для создания оглавления в вашем блоге
- Как исправить ошибку при установлении соединения с базой данных на WordPress
- 5 WooCommerce плагины для массового редактирования ваших продуктов
Заключение
Вуаля! Вот именно для этого урока. Мы надеемся, что эта статья поможет вам изменить имя базы данных. Если вам понравилось, не стесняйтесь поделиться с друзьями в ваших любимых социальных сетях.
Однако вы также сможете ознакомиться с нашими Ressources, если вам нужно больше элементов для реализации ваших проектов создания интернет-сайтов, обратитесь к нашему руководству по Создание блога на WordPress.
А пока расскажите о своем Комментарии и предложения в специальном разделе.
…
Одна из ваших обязанностей как владельца сайта WordPress – это управление вашей базой данных. Хотя вам не нужно понимать все о том, как работает база данных, базовые знания могут позволить вам выполнить несколько важных задач, таких как исправление сообщения «ошибка установления соединения с базой данных».
Изучение того, как автоматически обновлять текст в базе данных, – еще одна важная часть управления базой данных. Допустим, вы переезжаете на новый домен или добавляете на свой сайт сертификат SSL. Или, может быть, вы переименовали линейку продуктов и вам нужно заменить все экземпляры на своем сайте. В этих случаях знание того, как выполнить массовый поиск и замену WordPress, может сэкономить вам часы времени, которые в противном случае вам пришлось бы тратить вручную на обновление URL-адресов и текста.
В этом посте мы рассмотрим, как запустить поиск по базе данных и заменить запрос с помощью плагина или phpMyAdmin. Мы рассмотрим каждый из этих методов ниже, чтобы вы могли решить, какой из них подходит вам и вашему уровню технических знаний.
Как выполнять поиск и замену в базе данных WordPress
Есть несколько способов выполнить поиск и замену в базе данных WordPress. Если у вас нет знаний в области программирования или вы просто предпочитаете не заниматься кодом, вы можете использовать плагин. Если у вас есть некоторый технический опыт, вы можете написать собственный SQL-запрос и добавить его в phpMyAdmin в панели управления вашей учетной записи хостинга.
Существуют и другие способы выполнения действий поиска и замены в базе данных, в том числе установка сценария PHP под названием Search Replace DB в каталоге вашего сайта или использование команды wp search-replace. Однако эти методы могут быть трудными и рискованными для не разработчиков. Одна ошибка может сломать ваш сайт или сделать его более уязвимым для хакеров. Фактически, владельцы сайтов, на серверах которых был запущен скрипт searchreplacedb2.php, в 2017 году стали объектом серьезной кампании вредоносного ПО.
По этим причинам мы ограничимся использованием плагина или запроса MySQL для поиска и замены текста в вашей базе данных. Оба эти метода представляют меньший риск для безопасности вашего сайта и рекомендуются пользователям, практически не имеющим технических знаний.
Независимо от того, какой метод вы выберете, вы должны сделать резервную копию своего сайта WordPress. Таким образом, если вы введете неверную информацию при внесении изменений в базу данных, вы сможете легко восстановить свой сайт без потери данных.
Поиск и замена плагинов базы данных WordPress
Если у вас нет опыта программирования, то внесение изменений в базу данных WordPress может показаться сложной задачей, но вам не о чем беспокоиться. Плагин позволит вам легко искать и заменять текст в базе данных, не касаясь кода.
Давайте рассмотрим самые популярные плагины для поиска и замены ниже.
1 Найти и заменить
Search & Replace – это бесплатный плагин, созданный Inpsyde. С помощью этого плагина вы можете заменять URL-адреса, а также слова и фразы в своей базе данных прямо из панели управления WordPress.
Скажем, например, вы добавили сертификат SSL на свой сайт http://www.playground.dev. Вы должны написать эту версию HTTP в поле «Искать», а версию HTTPS – в поле «Заменить на». Затем нажмите кнопку «Заменить домен / URL-адрес», чтобы обновить все URL-адреса в вашей базе данных.
Источник
При обновлении слов и фраз на вкладке «Поиск и замена» вы можете установить флажок «Пробный запуск», чтобы просмотреть изменения до их внесения. Это важная функция, поскольку изменения в базе данных необратимы. Однако важно отметить, что эта функция не предлагается на вкладке «Домен / URL».
Источник
Что отличает этот плагин от других плагинов поиска и замены, так это то, что пользователи могут создавать резервную копию своей базы данных одним нажатием кнопки. Просто перейдите на вкладку «База данных резервного копирования» и нажмите кнопку «Создать файл SQL», как показано ниже.
Источник
2 Улучшенный поиск заменить
Better Search Replace – еще один бесплатный плагин, который позволяет пользователям выполнять поиск в базе данных и заменять запросы со своей панели управления WordPress. Этот плагин от Delicious Brains не позволяет пользователям создавать резервные копии своей базы данных, но у него есть несколько функций, которых нет в Search & Replace.
Например, при поиске и замене URL-адресов или любого текста в базе данных вы можете выполнить пробный прогон, чтобы увидеть, сколько разделов (называемых таблицами) будет затронуто, прежде чем фактически заменять текст.
Источник
Вы также можете использовать этот плагин для поиска и замены текста для многосайтовой установки WordPress, а не только для одного сайта.
Написание MySQL-запроса для выполнения поиска и замены в базе данных WordPress
Если у вас есть некоторые знания в области программирования и вы не хотите устанавливать другой плагин на свой сайт, вы можете использовать phpMyAdmin для выполнения поиска и замены в базе данных WordPress.
Прежде чем мы обсудим выполнение поиска и замены в базе данных, давайте рассмотрим, как вы можете найти имя своей базы данных WordPress. Он понадобится вам на следующем шаге.
На панели управления в учетной записи хостинга перейдите в «Файлы» > «Диспетчер файлов».
Источник
В меню навигации в левой части экрана щелкните папку public_html. Обратите внимание, что в зависимости от вашего хостинг-провайдера эта папка также может называться www, htdocs или httpdocs.
Источник
Найдите файл wp-config.php. Дважды щелкните файл, чтобы открыть его.
Источник
Вы можете найти имя в следующей строке:
define (‘DB_NAME’, ‘Имя базы данных’);
Запишите это, а затем вернитесь на панель управления. Перейдите в раздел Базы данных и щелкните значок phpMyAdmin.
Источник
Найдите свою базу данных WordPress и нажмите кнопку Enter phpMyAdmin. На странице phpMyAdmin щелкните вкладку SQL в верхней строке меню.
Источник
Вы добавите в текстовое поле следующую строку кода:
обновить TABLE_NAME установить FIELD_NAME = replace (FIELD_NAME, ‘Текст для поиска,’ Текст для замены на ‘);
Вам нужно будет заменить тексты-заполнители правильной информацией. Давайте определим, что означает каждый из этих текстов-заполнителей ниже.
- TABLE_NAME представляет имя таблицы (раздела базы данных), которую вы хотите изменить. Когда вы открываете базу данных phpMyAdmin, вы можете увидеть свои таблицы на вкладке «Структура». Некоторые из наиболее распространенных – это wp_comments, wp_posts и wp_users.
Источник
- FIELD_NAME представляет собой имя поля, в котором находятся целевые данные. Вы можете увидеть имена полей при открытии таблицы, которую хотите отредактировать.
- «Текст для поиска» представляет собой слово или фразу, которые вы хотите изменить.
- «Текст для замены» представляет собой слово или фразу, которая заменит исходный текст.
Представьте, что вы ведете блог о еде и понимаете, что неправильно написали слово «малина» во всех своих сообщениях. Чтобы заменить все вхождения слова «малина» с ошибкой на правильное слово «малина» в теле всех сообщений и страниц, ваш запрос MySQL будет выглядеть так:
обновить wp_posts set post_content = replace (post_content, ‘rasberry,’ raspberry ‘);
Когда вы закончите писать свой собственный запрос, нажмите кнопку Go, чтобы выполнить его. Все экземпляры неправильного слова будут заменены.
Упрощение управления базой данных
Планируете ли вы изменить название линейки продуктов, переместить свой сайт на новый сервер, изменить свое доменное имя или добавить сертификат SSL на свой сайт, вы можете использовать любой из описанных выше методов для поиска и замены текста в ваша база данных.
Источник записи: https://blog.hubspot.com