マシンにlocalhost/serverをインストールしました。Windowsスケジュールタスクを使用してphpスクリプトを実行する必要があります。スケジュールタスクの[アクション]タブにパスを追加する/特定の期間に実行するスクリプトを設定するにはどうすればよいですか?
システムでphp.exe実行可能ファイルを見つけ、-f
パラメーターを使用してスクリプトファイルの名前を渡します。
例:
C:\Xampp\php\php.exe -f C:\Xampp\htdocs\my_script.php
参照:
方法は次のとおりです。
Windowsスケジューラー->新しいタスクの作成->アクションタブ->編集
PHPコマンドライン を使用して、ブラウザからロードするのではなく、実行することができます。
[アクション]タブで、新しいアクションを作成し、次の操作を行います。
-f /path/to/php/file.php
オプションで、スクリプトのディレクトリで起動することもできます。
少なくともいくつかの提案を試しましたが、うまくいきませんので、これを試しました。
Batファイルを使用して、そのbatファイルを実行するようにスケジュールします。
たとえば、batファイルexecutephp.batで、これを書きます
c:\ xampp\php\php.exe -f c:\ xampp\htdocs\do_something.php
その行を含むbatファイルを保存します。
Windowsスケジューラーに移動して、新しいタスクを作成し、アクションタブで、そのexecutephp.batを参照して開始し、そのexecutephp.batがあるディレクトリに直接移動します。
たとえば、C:\ xampp\htdocsの下にファイルを保存する場合、そのC:\ xampp\htdocsを開始します。
ユーザーがログオンしていない場合でも、必ずスクリプトを呼び出すようにしてください。
すべてが設定され、問題なく実行されます。
これをサーバー2012で機能させるために何をしなければならなかったかを残したかっただけです。そのため、タスクスケジューラ->アクション->アクションの編集で。
Program/script: "C:\xampp\php\php.exe"
Add arguments: -f "<full path and filename>"
Start in: <Path to file>
(スクリプト内でクラスを参照したため、「開始」を使用する必要がありました)
お役に立てれば。
ここに私がそれをした方法があります。
[実行]ボックスで:c:\location_of_my_php_installation\php.exe -f c:\location_of_my_php_file\php_file.php
開始ボックスで:c:\location_of_my_php_installation\php.exe
タスクスケジューラの作成->アクション->アクションの編集
phpファイルがある場合
Program/script: powershell
Add arguments: curl http://localhost/demo/cron.php
mVC/CMS URLがある場合
Program/script: powershell
Add arguments: curl http://localhost/demo/controller/method
を使用して、ローカルのホストURLを直接呼び出すことができます
Explorer "http://localhost/yourFile.php"
タスクスケジューラのタスクのプロパティで、スクリプトを実行しているアカウントをSYSTEMアカウントに変更します。
気をつけて!完全に信頼できるスクリプトに対してのみこれを行う必要があります。これを行うと、スクリプトの特権が管理者を超えて昇格します。
Windowsでスケジューラーを作成するには、次のことが必要です。
.bat
ファイルを作成します。.bat
ファイルに次のコマンドを入力します。“F:\xampp\php\php.exe” -f “F:/xampp/htdocs/sitefolder/test.php”;