Недавно у меня случился переезд. Хостинга, конечно.

Не то, чтобы моим сайта было не комфортно на серверах, расположенных в Украине. Но просто перестал работать плагин, который как бы ну очень удобный — автоматически размещает книги Литреса. Я этот плагин использую на нескольких сайтах. 

И вот он перестал работать.

В техподдержке сказали — локация, мол в Украине Литрес запрещен, ибо нечего читать хохлам русские книги. Предложили перевезти все сайты на польские сервера.

Переезд — он и в Африке переезд, особенно сайтов — непременно что-то сломается.

Ну, переехали. Вроде все настроили.

Где-то техподдержка чинила сайты, которые перестали работать, где-то я сама убирала 500 ошибку (дело было в кривом плагине).

Фух, вроде все. Почти — в админке ВордПресса (а он теперь стал умным, отслеживает версию PHP) — красная надпись — ой-ё-ёй, старая версия PHP.

Зашла в админку на хостинге, поменяла на 7.2. Заодно памяти добавила, а то по умолчанию стояло 256K.

И…

Плагин снова не работает. Надпись в админке WP исчезла, но плагин сдох.

Знаю-знаю: работает — не трогай.

Но на версии PHP 5.6 не хочет работать сам сайт.

Обратные изменения уже ничего не дали.

Методом проб и ошибок починить таки получилось. Сейчас расскажу, как. 

Хотя причину я так и не поняла. Может, сам плагин Litres почему-то чувствителен к версии PHP и ему нужны дополнительные обновления.

С год назад у меня была уже подобная ситуация, и тогда оказалось достаточно сменить версию PHP и версию плагина.

Но в этот раз даже переезд, по сути, не помог.

Итак — очень простые действия.

Обновления

  • После установки версии PHP в 7.2
  • Удалить плагин Литрес
  • Обновить ВордПресс — там есть кнопка переустановить и так свежую версию.
  • Поставить плагин Литрес заново. Слава Богу, у него почти никаких настроек — просто добавить свой партнерский ID.
  • Вуаля — все заработало.

Замена функции PHP

Однако на другом сайте (PHP не меняла) появилась другая  ошибка — отказалась работать функция PHP mb_strtolower. Эта ошибка была видна и в админке сайта (в настройках PHP включен вывод ошибок), и в логах на хостинге.

Эту функцию я просто заменила в двух местах в файле litres-plugin.php на другую функцию  — strtolower (параметры функции остались те же).

Помогло — плагин заработал.

Такие у меня были два решения неработающего плагина.

Вдруг, кому пригодится.