php warnings при переходе на php7

Автор menserj, 09-05-2018, 10:40:26

« назад - далее »

menserjTopic starter

Здравствуйте. Сменилась версия php и появились ошибки:

PHP Warning:  Declaration of Walker_Comment2::start_el(&$output, $comment, $depth, $args) should be

compatible with Walker::start_el(&$output, $object, $depth = 0, $args = Array, $current_object_id = 0)


PHP Warning:  Declaration of Walker_Comment2::end_el(&$output, $comment, $depth, $args) should be compatible

with Walker::end_el(&$output, $object, $depth = 0, $args = Array)


Как их исправить? подскажите кто знает.


zanuda

1. Сайт, что в подписи? Ошибки где - когда я вхожу, ночего не видно.

2. Я не знаю, но стандартный совет - найти, что же именно вызывает ошибку. Надо отключить все плагины, переключиться на стандартную вордпрессовскую тему и посмотреть, что будет. Если все заработает нормально, начать включать поочереди, тему, потом плагины по одному, начиная с самых стандартных.

3. Когда удастся установить, - начать трясти создателя шаблона или плагина. Если плагин, то можно попытаться найти аналог.
  •  


menserjTopic starter

Цитата: zanuda от 09-05-2018, 19:41:051. Сайт, что в подписи? Ошибки где - когда я вхожу, ночего не видно.

2. Я не знаю, но стандартный совет - найти, что же именно вызывает ошибку. Надо отключить все плагины, переключиться на стандартную вордпрессовскую тему и посмотреть, что будет. Если все заработает нормально, начать включать поочереди, тему, потом плагины по одному, начиная с самых стандартных.

3. Когда удастся установить, - начать трясти создателя шаблона или плагина. Если плагин, то можно попытаться найти аналог.

1. Ну да сайт в подписи. Ошибки я выключил.
2. это ошибка  в шаблоне, надо как то аргументы функции видимо переписать.
3. Создателя шаблона уже не найти, того и сайта уже нет, на котором я брал.

ProtectYourSite

#3
Данные ошибки возникают из-за того, что в новой версии PHP изменились требования к объявлению функций. Вам необходимо обновить код класса Walker_Comment2, чтобы он соответствовал новым требованиям.

В настоящий момент функции start_el() и end_el() класса Walker_Comment2 объявлены с передачей параметров по ссылке (&$output, $comment, $depth, $args), однако в новой версии PHP это уже не требуется.

Чтобы исправить ошибку, вам необходимо изменить объявление функций start_el() и end_el(), убрав символ "&" перед параметрами передачи по ссылке. Вот как должны выглядеть исправленные функции:

start_el($output, $comment, $depth, $args)

end_el($output, $comment, $depth, $args)

После внесения этих изменений ошибки должны исчезнуть.

Если вы внесли изменения в код класса Walker_Comment2, чтобы исправить предыдущие ошибки, но по-прежнему получаете другие сообщения об ошибках, это может быть связано с другими изменениями в версии PHP.

Вам следует рассмотреть возможные различия между предыдущей и новой версиями PHP и обновить свой код соответствующим образом. Например, если в новой версии PHP были добавлены или удалены какие-либо обязательные аргументы функций, вам нужно обновить свои функции, чтобы они соответствовали этим изменениям.

Ошибки могут также возникать из-за несовместимости с другими классами или плагинами, которые используются в вашем проекте. В этом случае вам нужно обратить внимание на совместимость версий этих компонентов и, если необходимо, обновить их.