エックスサーバーにて、CakePHP5のCommandをControllerからexec()関数で実行する方法。
詳細は以下から。
SSH接続したコンソールから使用する方法
/src/Command/HogeCommand.php
上記の様なパスのCommandを実行する場合、SSH接続のコンソールからは
/home/USER_NAME/application_dir/bin/cake Hoge
で実行可能。
CakePHP5のコントローラ内でCommandをexec()関数で実行する方法
exec('/usr/bin/php8.3 /home/USER_NAME/application_dir/bin/cake.php Hoge');
ポイントは、パスを指定する前に『/usr/bin/php8.3』と明示すること。
また、実行は『/bin/cake』から『/bin/cake.php』に変更することです。
上記はPHPのバージョンが8.3の場合なので、他のバージョンの場合は以下のページを参照してください。


コメント