Недавно Фоззи прислал предупреждение, что хостинг переезжает с php 5.3.x на php 5.4.x, и что если есть желание – можно переключиться обратно на 5.3 или вообще на 5.5. Ну переезжает, и переезжает, я внимания не обратил. А зря. Как выяснилось, php версии 5.4 выдает ошибку, вернее – предупреждение: Warning: Illegal string offset ‘solo_subscribe’ (ну и дальше место, где именно она произошла), которая означает, что если где-то вместо массива подсовывается строка, то ему, видите-ли, это не нравится. На всех остальных версиях php этого не происходит, а вот 5.4 – таких штук не любит. Из предупреждения было понятно, что происходит это из-за плагина Subscribe To Comments, не обновлявшегося уже около полутора лет. Исходя из этого, вырисовывается четыре способа решения этой проблемы:
- Исправить код плагина. К сожалению, поскольку проблема эта обозначилась уже давно, а создатель плагина до сих пор ею не озаботился, то и ожидать того, что он ее пофиксит – как-то не приходится. Сам же я в php программировании не понимаю вообще ничего, и откровенно говоря – времени на то, чтобы разобраться, уйдет больше, чем на какой-либо другой способ решения (а что редактировать там – не очень понятно, это не просто строчку переписать). В интернете же способа правки кода именно для этого плагина не существует, обыскал практически все ресурсы.
- Переключить версию php обратно на 5.3, или наоборот вверх – до 5.5. Неплохой вариант, однако смущает то, что я не знаю, к чему это приведет с точки зрения других плагинов, к тому же режим 5.4 выводится, как native, а остальные – не понятно, как применяются на хостинге.
- Отключить вывод предупреждений: в wp-config у Вордпресса, или прописыванием в .htaccess (как вариант – можно оставить вывод в файл лога) – мне не по нраву, поскольку предпочитаю всегда лечить болезнь, а не скрывать симптомы
- Поменять плагин. Кардинально, но работает только в случае, если есть другой аналогичный. Плюсы в том, что затрагивается конкретно не работающее место. Минусы – в том, что не понятно, как он вообще будет работать.
В общем, все четыре способа – не самые оптимальные. Первый и третий – не подходят абсолютно, второй – страшновато из-за остального сайта, так что остается только 4-й, поскольку для указанного плагина есть доработанная версия Subscribe To Comments Reloaded. Поэтому в ближайшее время состоится переезд. Разумеется – бэкап базы данных будет сохранен, и в случае, если что-то не заработает, или пропадут ваши подписки – я все верну обратно, но возможно, день-два что-нибудь будет работать не совсем корректно. P.S. Вот тут подсказал Flector, как пофиксить это, не переезжая на Релоадед версию: откройте файл плагина и замените строчку 304:
1 |
if ( is_array($this->errors[$type]) ) { |
на
1 |
if ( isset($this->errors[$type]) ) { |
ошибка при этом пропадет, но все будет нормально работать. если где-то еще такая ошибка появится, то надо is_array будет заменить на isset. Спасибо – все проверил – все работает.
Добавить комментарий