Como posso resolver "Método não estático xxx: xxx () não deve ser chamado estaticamente no PHP 5.4?
Atualmente usando uma grande plataforma em PHP.
O servidor hospedado recentemente foi atualizado para o PHP 5.4.
Desde então, recebi muitas mensagens de erro como:
[Sat May 26 19:04:41 2012] [error] PHP Padrões estritos: Método não estático Config :: getData () não deve ser chamado estaticamente, assumindo $ this a partir de um contexto incompatível em /xxx/Config.inc.php em linha 35
O método de exemplo é definido como (observe a falta de palavra-chave 'static'):
function &getData() {
$configData =& Registry::get('configData', true, null);
if ($configData === null) {
// Load configuration data only once per request, implicitly
// sets config data by ref in the registry.
$configData = Config::reloadData();
}
return $configData;
}
Isso não causou nenhum problema antes, e presumo que as mensagens de erro (que causam a falha do aplicativo) possam estar relacionadas à atualização recente para o PHP5.4.
Existe uma configuração do PHP que eu possa modificar para 'ignorar' a falta de palavra-chave estática?