Строгие стандарты: нестатический метод STemplate :: assign () не следует называть статически

i Обновите мой старый сервер xampp (1.7.3) localhost до 1.8.0. теперь, не работайте с драйвером smarty template engine (2.6.6) на моей странице, и я вижу ошибку Strict Standards . в чем проблема? как это исправить?

NOTE : This Wroked Fine In Old Xampp(1.7.3).

Раздел ошибки:

 Strict Standards: Non-static method STemplate::assign() should not be called statically in C:\xampp\htdocs\tube\include\config.php on line 88 Strict Standards: Non-static method STemplate::create() should not be called statically in C:\xampp\htdocs\tube\libraries\mysmarty.class.php on line 42 Strict Standards: Non-static method STemplate::setCompileDir() should not be called statically in C:\xampp\htdocs\tube\include\config.php on line 181 Strict Standards: Non-static method STemplate::setTplDir() should not be called statically in C:\xampp\htdocs\tube\include\config.php on line 182 

Ошибка моей конфигурации:

 STemplate::assign($field, $config[$field]); // line 88 STemplate::setCompileDir($config['basedir']."/temporary"); // line 181 STemplate::setTplDir($config['basedir']."/themes"); // line 182 

my.Smarty.class.php (строка ошибки 2)

 function assign($var, $value) { global $Smarty; if (!isset($Smarty)) { STemplate::create(); // <---- line 42 } $Smarty->assign($var, $value); } 

Спасибо за любую помощь 🙂

Это потому, что вы используете современную версию PHP со strict standards . Вы можете заставить код работать, сделав заявление:

 public static function assign($var, $value) 

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