phpMyAdmin
 sql >> Base de Dados >  >> Database Tools >> phpMyAdmin

Erro fatal:Chamada para método indefinido Action::execute() /home/public_html/system/engine/event.php na linha 62


Parece que você tem um OC versão 3.0.2.x ou superior.

Em seus $this->data da Classe de Eventos, você tem um evento registrado que não possui um parâmetro de ação.
$this->data[] = array(
    'trigger'  => $trigger,
    'action'   => $action, // <-- this must be an Action Object with a method execute()
    'priority' => $priority
);

Todos os eventos são registrados através do register() método que solicita explicitamente que um objeto Action esteja sendo passado como parâmetro.

Como o erro está apontando para "Call to undefined method Action::execute()", posso supor que você tenha um problema com a classe de ação.

Muito provavelmente você precisa verificar as Modificações do system/engine/action.php arquivo em seu system/storage/modifications .

Pode ser que o método execute() está ausente ou de alguma forma corrompido.

Depurar


tente var_dump o $value para ver o que está lá:
public function trigger($event, array $args = array()) {
        foreach ($this->data as $value) {
//log out the $value before the error to see if the Action object is actually there and see what trigger causes this.
var_dump($value);
            if (preg_match('/^' . str_replace(array('\*', '\?'), array('.*', '.'), preg_quote($value['trigger'], '/')) . '/', $event)) {
                $result = $value['action']->execute($this->registry, $args);

            if (!is_null($result) && !($result instanceof Exception)) {
                return $result;
            }
        }
    }
}

Espero que isto ajude