Drush経由で実行する必要がある関数を含む追加(.inc)ファイルを含むモジュールがあります。私はそれを実行することが可能であることを知っていますdrush eval
ですが、これらの関数に対して実行しようとすると、次のエラーが発生します。
PHPの致命的なエラー:/usr/share/php/drush/commands/core/core.drush.inc(1037)の未定義の関数my_module_my_function()の呼び出し:1行目のeval()のコード
このコマンドは機能します(関数は.moduleファイルにあります)。
drush eval 'my_module_cron();'
このコマンドは機能しません(関数は.incファイルにあります)。
drush eval 'my_module_my_function();'
モジュール内で関数を移動する以外に回避策はありますか?
他の場所と同じように、評価コードに module_load_include() を追加できます。
このような:
drush eval "module_load_include('inc', 'my_module', 'INCLUDE_FILE_NAME_WITHOUT_EXTENSION'); my_module_my_function();"