sql >> Databáze >  >> Database Tools >> phpMyAdmin

Závažná chyba:Volání nedefinované metody Action::execute() /home/public_html/system/engine/event.php na řádku 62

Zdá se, že máte verzi OC 3.0.2.x nebo vyšší.

Ve vašich $this->data třídy Event, máte zaregistrovanou událost, která postrádá parametr akce.

$this->data[] = array(
    'trigger'  => $trigger,
    'action'   => $action, // <-- this must be an Action Object with a method execute()
    'priority' => $priority
);

Všechny události jsou registrovány pomocí register() metoda, která explicitně požaduje, aby byl objekt Action předán jako parametr.

Protože chyba ukazuje na "Volání nedefinované metody Action::execute()", mohu předpokládat, že máte problém s třídou akce.

Pravděpodobně budete muset zkontrolovat Modifikace souboru system/engine/action.php soubor ve vašem system/storage/modifications .

Může to být metoda execute() buď chybí, nebo je nějak poškozen.

Ladění

zkuste var_dump $value, abyste viděli, co tam je:

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;
            }
        }
    }
}

Doufám, že to pomůže




  1. Potíže se zápisem uložené procedury v MYSQL

  2. Výchozí hodnoty pro datové typy varchar a int mysql

  3. Jak přesunu svou databázi mysql z phpmyadmin do cleardb heroku?

  4. Kde je v příslušné specifikaci zdokumentováno, že některé komentáře ve skriptu SQL mají být ve skutečnosti provedeny jako platné SQL (pomocí MySQL)?