sql >> データベース >  >> Database Tools >> phpMyAdmin

致命的なエラー:未定義のメソッドの呼び出しAction ::execute()/home/public_html/system/engine/event.php(62行目)

    OCバージョン3.0.2.x以降を使用しているようです。

    $this->data イベントクラスの、アクションパラメータが欠落しているイベントが登録されています。

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

    すべてのイベントはregister()を介して登録されます Actionオブジェクトがパラメータとして渡されることを明示的に要求するメソッド。

    エラーは「未定義のメソッドAction::execute()の呼び出し」を指しているため、アクションクラスに問題があると推測できます。

    ほとんどの場合、system/engine/action.phpの変更を確認する必要があります system/storage/modifications内のファイル 。

    メソッドexecute()である可能性があります 欠落しているか、何らかの理由で破損しています。

    デバッグ

    $ valueをvar_dumpして、そこに何があるかを確認してください:

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

    これがお役に立てば幸いです




    1. MySQL REPLACEステートメントが正しくありませんか?新しいステートメントが見つかりましたが、区切り文字がありません

    2. Visual StudioまたはSSMSの検索と置換で正規表現パターンを使用して{min、max}の繰り返しを見つけるにはどうすればよいですか?

    3. デフォルト値が指定されていない場合、フィールドのデフォルト値は何ですか?

    4. 連絡先フォーム7、ワードプレスにデータを復元したい