Phpスクリプトがあり、スケジュールに従って実行したい。 WindowsでローカルWebサーバー(WAMPサーバー)を使用していますが、my_script.php
10分ごと。
PHPスクリプト、Windowsのローカルホストでcronジョブを実行する方法は?
最近、Windows 7のlocalhost(WAMPサーバー)のphpスクリプトでcronジョブを実行する際に、ある種の問題が発生しました。
ちなみに、同じことをしている人のためにこれを共有しています。
Windowsタスクスケジューラを使用して、慢性的に実行するにはshellscriptが必要です。また、php.exeを呼び出してphpスクリプトを実行するバッチスクリプト(script.bat)が必要になります(ここではmy_process.php
)
shellscript.vbs
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & "C:\path\to\script\script.bat" & Chr(34), 0
Set WinScriptHost = Nothing
script.bat
"C:\wamp\bin\php\php5.4.12\php.exe" -f "C:\wamp\www\website\my_process.php"
これで、必要な時間間隔でWindowsタスクスケジューラを実行してshellscript.vbsを設定する準備ができました。
C:\path\to\
のようなshellscript.vbsの親ディレクトリを入力します。Trixからの回答を使用し、Metafanielと同じ問題が発生する場合:
問題があります。この手順では、タスクが実行されていますが、phpスクリプトが実行されていないため、「開く」ダイアログが表示されます。タスクのプロパティが表示される場合は、提案どおりにvbsファイルに設定しても、ActionName C:\ Windows\system32\OpenWith.exeと表示されます。私は何を間違えていますか?
これを使用する必要があります:
特定の時間にcron.phpを実行するようにWindowsマシンをセットアップするには、以下の特定の指示に従ってください。これは、Linux/Unixに慣れていない場合、またはWebホストがcronジョブを実行する機能を提供していない場合に役立ちます。自分のコンピューターからリモートで実行できます。
注:これらの手順は、Windows XP向けに書かれていますが、Windowsの他のバージョンでも同様である必要があります。