Модератор
Юрій
(@yube)
Был тут очень похожий вопрос пару лет назад. Жаль, не помню, чем дело кончилось. Вот как бы не горбатым хостером.
Спасибо ответившим.
Т.к. такое не только у этого «кривого» хостера 🙂 То, имхо, дело не в этом.
Перед переносом решил на тестовом домене попробовать.
Решил поподробнее посмотреть базу.
При переносе я, соответственно, меняю ссылки и путь на сервере.
И тут (хочется кому-то обрезать руки)…
В бд есть такая запись:
(39, ‘recently_edited’, ‘a:5:{i:0;s:91:\»/home/Alex_UUU/web/umnikov.ru/public_html/wp-content/themes/xmag/template-parts/content.php\»
Вроде бы логично путь изменить на новый, типа (как хостер дал) /home/umnikov.ru/
Но не все так просто s:91 показывает длину этого внутреннего значения. Т.е. надо менять и его.
Блин, база данных в поле таблицы базы данных.
Я, конечно, такое делал, но через сплит и разделителями…
Итогом где-то не подтягиваются стили.
Тему пока не закрываю.
Модератор
Yui
(@fierevere)
永子
замена данных и в том числе сериализованных массивов в базе:
https://ru.wordpress.org/plugins/better-search-replace/
или
без WordPress
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
также можно делать перенос сайта с автоматической заменой при разворачивании инсталляционного пакета — https://ru.wordpress.org/plugins/duplicator/
-
Ответ изменён 6 лет, 3 месяца назад пользователем Yui.
Всем спасибо. ПРоблема с Русским языком решена (выучил китайский 🙂
И как решение:
Делаем файл с расширением пхп такого содержания, копируем в голову и вызываем:
<?php
require_once( 'wp-config.php' );
#echo DB_HOST, "-", DB_USER, "-", DB_PASSWORD, "-", DB_NAME, "<br>\n";
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if ($mysqli->connect_errno) {
echo "Not Connect: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
$res = $mysqli->query("show tables from ".DB_NAME.";");
if (!$res) {
echo "ErrorBD. No Tables\n";
echo 'Error MySQL: ' . mysql_error();
exit;
}
while ($row = mysqli_fetch_array($res))
{
echo "Table: {$row[0]}<br>\n";
$res1 = $mysqli->query("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='".DB_NAME."' AND TABLE_NAME='{$row[0]}';");
while ($row1 = mysqli_fetch_array($res1))
{
echo "Columns: {$row1[0]}";
$mysqli->query("UPDATE {$row[0]} SET {$row1[0]} = REPLACE({$row1[0]}, CONCAT( CHAR(209), CHAR(63) ), CONCAT( CHAR(209), CHAR(136) ));");
$mysqli->query("UPDATE {$row[0]} SET {$row1[0]} = REPLACE({$row1[0]}, CONCAT( CHAR(208), CHAR(63) ), CONCAT( CHAR(208), CHAR(152) ));");
echo " Ok<br>\n";
}
}
?>
-
Ответ изменён 6 лет, 3 месяца назад пользователем Yui. Причина: code