Windowsにはcronが無いので、タスク スケジューラに設定するんですが、単純に設定するとコマンドプロンプトのウィンドウが一分毎に立ち上がって文字入力の邪魔をする。。
なので、もうVBSファイルからコマンドプロンプトを実行するようにしてこれを回避。
ついでにPHPのバージョン変更もするように。
手順
- VBSファイルを作成
- タスク スケジューラに設定
VBSファイルを作成
VPSファイルはどこに置いても大丈夫です。
ただのテキストファイルなのでメモ帳で作成可能です。
拡張子は .vbs
記載内容はこちら
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /k set PATH=D:\app\php-8.0.14-nts-Win32-vs16-x64;%PATH% & cd D:\prjects\sample & php artisan schedule:run", 0, false
記載内容の説明
ws.run で 3つのパラメータを指定しています。
1つ目 実行するコマンド
2つ目 ウィンドウオプション 0=表示しない
3つ目 同期指定 false=非同期
つまり 1つ目のコマンドは非表示で勝手に実行しといてくださいって感じです。
run メソッドについて詳しくはこちら
コマンドは & 区切りで複数実行できますので、今回は
- PATH の更新
- ディレクトリの移動
- scheduleの実行
をやっています。