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.
Сегодня в 08:46
#4
10 января 2013 в 12:48
Да, PHP Version 5.4.1Php 5.4?
Эммм режим отладки может? Дык он у меня выключенОтключите вывод ошибок в гастройках php
#5
10 января 2013 в 14:00
Нет не режим отладки, отключите display_errors и все, перестанет показывать предупреждения. Это не ошибки а предупреждения. что не так выводится класс.
Ошибка связана с тем, что начиная с php 5.3 изменилась работа с классами. Поскольку мы в дочернем классе class p_hidetext переопредеяем метод execute() родительского класса class cmsPlugin, то родительский класс является абстракным. При этом метод в родительском классе и метод в дочернем классе должны иметь одинаковые сигнатуры. А у нас в родительском классе метод определяется без параметров public function execute(), а в дочернем с параметрами public function execute($event, $item). Поэтому и возникает ошибка. [
Попробуйте в индексном файла index.php строку 14
заменить на
Но ошибки могут возникнуть в аякс подгрузках. Чтобы исключить это, можно прописать в .htaccess или отключить вывод E_STRICT в php.ini
Попробуйте в индексном файла index.php строку 14