Ошибки в профилях и не только Strict Standards

Strict Standards: Declaration of p_hidetext::execute() should be compatible with cmsPlugin::execute() in /home/http/plugins/p_hidetext/plugin.php

#1 10 января 2013 в 12:01
Обратил внимание на свежеустановленном сайте (icms 1.10.1) в профиле пользователя появилась ошибка думал криво залил файл плагина, перезалил и на всякий зашел через админку еще в установку новых плагинов, а там такая ошибка на все установленные дефотные плагины. Куда копать подскажите?
#2 10 января 2013 в 12:17
удалить все и установить заново не помогает? (удалять средствами движка)
#3 10 января 2013 в 12:18
AlexandrA, Php 5.4? Отключите вывод ошибок в гастройках php.
#4 10 января 2013 в 12:48

Php 5.4?

Искус
Да, PHP Version 5.4.1

Отключите вывод ошибок в гастройках php

Эммм режим отладки может? Дык он у меня выключен
#5 10 января 2013 в 14:00
Нет не режим отладки, отключите display_errors и все, перестанет показывать предупреждения. Это не ошибки а предупреждения. что не так выводится класс.
#6 10 января 2013 в 14:35
Ошибка связана с тем, что начиная с php 5.3 изменилась работа с классами. Поскольку мы в дочернем классе class p_hidetext переопредеяем метод execute() родительского класса class cmsPlugin, то родительский класс является абстракным. При этом метод в родительском классе и метод в дочернем классе должны иметь одинаковые сигнатуры. А у нас в родительском классе метод определяется без параметров public function execute(), а в дочернем с параметрами public function execute($event, $item). Поэтому и возникает ошибка. [
Попробуйте в индексном файла index.php строку 14
  1. Error_Reporting(E_ALL & ~E_NOTICE & ~E_WARNING);
заменить на
  1. Error_Reporting(E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT);
Но ошибки могут возникнуть в аякс подгрузках. Чтобы исключить это, можно прописать в .htaccess или отключить вывод E_STRICT в php.ini
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.