Перестали загружаться и отображаться файлы (картинки) в админке wordpress
Перевез сайт с nic.ru на sweb.ru
wordpres 5.9.3, настройки сервера Apache 2.4 + PHP 7.4 opcache (Актуальная версия)
поначалу были проблемами с линками картинок, некоторые ссылались на старый домен и как я не рыл в базе, не нашел как это исправить.
Пару дней назад при попытке загрузить логотип, получил сообщение об ошибке, без кодов без всего - просто... произошла ошибка ,повторите попытку позже... мило
теперь вкладка медиафайлы имеют два состояния, в зависимости от режима просмотра:
Что делал:
-
Правил .htaccess
-
отключал все плагины
-
проверял на кодировку wp-config.php, .htaccess и header.php, все что правил при переезде, везеде utf8 без BOM
- в wp-cinfig добавил
define('WP_TEMP_DIR', dirname(__FILE__). '/wp-content/temp/');
- ставил плагины Media From Ftp, Bulk media register
Всё тщетно, файлы в админке не появляются и ошибка при загрузке остается. Хотя сами файлы на сервер прилетают и лежат в положенных папках.
Прошу помощи, уже не знаю куда рыть..
- Старый домен на новый заменил в БД?
- Если сервер менял, возможно права на файлы не те или владелец файла не тот, поэтому PHP скрипт не может ничего загрузить (хотя там должно было всплыть окошко FTP в этом случае).
Старый домен конечно поменял в БД иначе бы сайт не завелся вообще
Права на файлы все проверил (папки 775 wp-content/uploads/... ) и на файлы стоит 664, вроде все по феншую, но никак.
Прямо отчаяние берет, никогда не встречал нерешаемой проблемы, но ничего из найденного в интернете мне не подошло... вообще.
Сайт работает, есть нерешенный вопрос по картинкам не подгружаемым в слайдер в карточках товара (почему-то ссылаются на старый домен)
И вот эта хрень появилась, с невозможностью грузить и видеть медиафайлы в админке. Причем я вижу спокойно файлы за предыдущие месяцы, wordpress их открывает.
Что-то у тебя там конкретно не то. Идей чет нет что может быть. Проверь еще раз константы в wp-config.php вот эти https://wp-kama.ru/id_2990/polnyiy-spisok-konstant-wordpress.html#paths
Очень похоже на то, что каких-то php расширений нет. Что показывает раздел "Здоровье сайта"?
Не могу оставить комментарий напишу тут ответ el-lable
Я поставил эту утилитку, зашел в вебморду,
Вбил в поиске старый домен и замену на новый. Дело в том что я это делал, прямо в базе, как только перевез домен
Получил отрицательный ответ, мол совпадений нет... хотя я хорошо вижу что есть куча картинок (в кастомном слайдере) которые линкуются на старый домен.
Но самое главное что медифайлы так и не открываются и не загружаются в админке и что со всей это бородой делать я не знаю.
Может посоветуете платного спеца? Честно, моих навыков уже не хватает.
Если в БД у вас совпадений на старый домен нет при прогоне этой утилиткой, значит ищите упоминания строго домена в файлах.
Вы говорите про какой-то какой-то кастомный слайдер, возможно он делает какой-то кэш в виде файлов.
Еще может быть вариант - вы удалили пользователя к которому ваши медиафайлы были привязаны. Bбо в WP медиафайл привязывается либо к пользователю либо к админу, и когда вы его удаляете(пользователя) привязка файлов либо просто прибивается и файлов как бы больше нет либо привязка переносится к админу, тогда они остаются в библиотеке.
Спасибо большое за активную помощь!
Давайте на минутку оставим "кастомный" слайдер (это обычный OWL Carosel просто с редизайном)
А в каких файлах искать нужно упоминание старого домена? С какой папки начать?
Правда суть проблемы немного в другом. Админка не заливает картинки на сервер (вернее технически они прилетают туда, но сама админка пишет - ошибка при загрузке) и вместо изображений выдает нечто, как на втором слайде из первого поста.
Убей бог не пойму как это вяжется с переездом на новый домен. Ведь я как переехал, загрузил как минимум новый логотип и он прекрасно виден и в медиафайлах и на сайте. Но после этого как отрезало...
PS Так... попытался найти загруженный логолит на сервере в папке за 04 месяц (загружал его в апреле) а он оказался в папке аж за 2018 год! Чуть ли ни с даты пуска сайта... Как так могло случится ума не приложу.. но что-то мне подсказывает на этой загрузке и произошел сбой какой-то... но что делать этим непонятно. Удаление логотипа не помогло.
Итого.
Проблема не решалась никак.
Пришлось ставить последний бэкап с предыдущего домена и хоста. В прошлый раз после переезда оставалась проблема с отсутствием некоторых картинок (линки упорно вели на старый хост, хотя в базе я делал замену домена и шерстил её в поиске хвостов).
Узнал, что есть какие-то сериализованные данные и их так просто "не возьмешь" попробовал сразу, после заливки бэкапа, пройтись утилитой от el-lable (ссылка на неё ниже) и о чудо, все картинки сразу встали на места и сайт заработал как положено.
Медифйалы отображаются корректно и загрузка происходит без проблем теперь.
Возможно это можно было решить иначе, но пришлось идти длинным путём.
Всем кто откликнулся большое человеческое спасибо!!
Вы свою БД прогоняли через эту утилитку?
https://github.com/interconnectit/Search-Replace-DB
Вот тоже отличный вариант: https://wp-kama.ru/handbook/wp-cli/wp/search-replace
Этот вариант не прорабатывает значения метаполей которые хранятся в формате с указанием длины значения строки метаполя.
Например в CF7.
Ты не прав - он также обрабатывает сериализованные массивы корректно. Для них он делает замену используя PHP, а не mysql.
Возможно не прав, но почему-то так запомнилось.