XAMPP + SPAW2 (Non-static method SpawVars…should not be called statically)

XAMPP + SPAW2 (Non-static method SpawVars…should not be called statically)

Имеем XAMPP (кроссплатформенная сборка веб-сервера, содержащая Apache, MySQL, интерпретатор скриптов PHP, язык программирования Perl и большое количество дополнительных библиотек, позволяющих запустить полноценный веб-сервер).
После установки Web редактора SPAW2 (WYSIWYG), при попытке отображения элемента редактора в форме, на экран выдается очень много сообщений типа:

Strict Standards: Non-static method SpawVars::getServerVar() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\config\config.php on line 7
Strict Standards: Non-static method SpawConfig::setStaticConfigItem() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\config\config.php on line 7
Strict Standards: Non-static method SpawConfig::configVar() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\class\config.class.php on line 118
Strict Standards: Non-static method SpawConfig::getStaticConfigValue() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\config\config.php on line 8

Strict Standards: Non-static method SpawConfig::getStaticConfigItem() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\class\config.class.php on line 235
Strict Standards: Non-static method SpawConfig::configVar() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\class\config.class.php on line 142
Deprecated: Function ereg() is deprecated in C:\xamp_www\vinyl.melodia\www\a\spaw2\config\config.php on line 8
Strict Standards: Non-static method SpawConfig::getStaticConfigValue() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\config\config.php on line 9
Strict Standards: Non-static method SpawConfig::getStaticConfigItem() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\class\config.class.php on line 235
Strict Standards: Non-static method SpawConfig::configVar() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\class\config.class.php on line 142
Strict Standards: Non-static method SpawConfig::setStaticConfigItem() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\config\config.php on line 9
Strict Standards: Non-static method SpawConfig::configVar() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\class\config.class.php on line 118
Strict Standards: Non-static method SpawConfig::setStaticConfigItem() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\config\config.php on line 12
Strict Standards: Non-static method SpawConfig::configVar() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\class\config.class.php on line 118
Strict Standards: Non-static method SpawConfig::getStaticConfigValue() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\config\config.php on line 15
Strict Standards: Non-static method SpawConfig::getStaticConfigItem() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\class\config.class.php on line 235
Strict Standards: Non-static method SpawConfig::configVar() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\class\config.class.php on line 142
Strict Standards: Non-static method SpawConfig::getStaticConfigValue() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\config\config.php on line 15
Strict Standards: Non-static method SpawConfig::getStaticConfigItem() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\class\config.class.php on line 235
Strict Standards: Non-static method SpawConfig::configVar() should not be called statically in C:\xamp_www\vinyl.melodia\www\a\spaw2\class\config.class.php on line 142

при этом окно для ввода текста неактивно.

Странно, что в интернете почти ничего не сказано о «лечении» таких ошибок. Только абсурдные советы, типа того, что нужно включить глобальные переменные в настройках php, и пр.
Методом проб, и ошибок, которые, к стати, так и не ушли, через пару дней решение все-же было найдено.







Итак, решение:
Находим файл конфигурации PHP (c:\xampp\php\php.ini). В файле нужно найти строчку, в которой описывается поведение при ошибках (error reporting). Это будет приблизительно 515-516 строка в конфиге.
По умолчанию там записано:

error_reporting = E_ALL | E_STRICT

т.е. идет отображение всех ошибок php.
Данную строчку нужно закомментировать, а вместо нее вписать:

error_reporting = E_ERROR | E_WARNING | E_RECOVERABLE_ERROR | E_PARSE | E_NOTICE

Здесь мы конкретно указываем, какие ошибки php разрешено отображать на странице.

Если вы хотите отключить отображение ошибок на сторое клиента, то воспользуйтесь командой:

ini_set( 'display_errors', true ); // отображение ошибок на экран
//ini_set( 'display_errors', false ); // отображение ошибок на экран

в самом начале файла со скриптами PHP.

Если используется серверная сборка XAMPP, то нужно перегрузить Apache Server.

Comments are closed.