Package: smarty3
Version: 3.1.21-1.1
The version of Smarty3 (3.1.21-1.1) provided is not fully compatible with PHP7.
PHP7 support seems to be in Smarty3 > 3.1.28. There are multiple symptoms of
this, perhaps most obvious that the templates do not compile if you add a call
to register plugin. I encountered this first in Ubuntu, but it seems relevant
to Debian as well.
Here is a stack trace, to get an idea of how things fail, when trying to use
registerPlugin in smarty3 3.1.21.
Notice: Array to string conversion in
/usr/share/php/smarty3/sysplugins/smarty_internal_templatecompilerbase.php on
line 415
Notice: Undefined property: template::$Array in
/usr/share/php/smarty3/sysplugins/smarty_internal_templatecompilerbase.php on
line 415
Fatal error: Uncaught Error: Function name must be a string in
/usr/share/php/smarty3/sysplugins/smarty_internal_templatecompilerbase.php:415
Stack trace:
#0 /usr/share/php/smarty3/sysplugins/smarty_internal_templateparser.php(3585):
Smarty_Internal_TemplateCompilerBase->compileTag('asset_url', Array)
#1 /usr/share/php/smarty3/sysplugins/smarty_internal_templateparser.php(4413):
Smarty_Internal_Templateparser->yy_r32()
#2 /usr/share/php/smarty3/sysplugins/smarty_internal_templateparser.php(4515):
Smarty_Internal_Templateparser->yy_reduce(32)
#3
/usr/share/php/smarty3/sysplugins/smarty_internal_smartytemplatecompiler.php(118):
Smarty_Internal_Templateparser->doParse(3, '}')
#4
/usr/share/php/smarty3/sysplugins/smarty_internal_templatecompilerbase.php(283):
Smarty_Internal_SmartyTemplateCompiler->doCompile('<!DOCTYPE html>...')
#5 /usr/share/php/smarty3/sysplugins/smarty_internal_template.php(197):
Smarty_Internal_TemplateCompilerBase->compileTemplate(Object(Smarty_Internal_Template))
#6 /usr/share/php/smarty3/sysplugins/sm in
/usr/share/php/smarty3/sysplugins/smarty_internal_templatecompilerbase.php on
line 415