web-dev-qa-db-de.com

Führen Sie Cron Job aus PHP Skript auf localhost in Windows

Ich habe ein PHP-Skript und möchte es nach einem Zeitplan ausführen. Ich verwende einen lokalen Webserver unter Windows (WAMP-Server) und brauche eine Möglichkeit, my_script.phpalle 10 Minuten auszuführen.

Wie führe ich einen cron-Job mit einem PHP -Skript auf localhost in Windows aus?

15
Trix

vor kurzem hatte ich irgendwie probleme, einen cron-job mit einem php-script auf localhost (WAMP-server) in windows 7 auszuführen, als ich gerade teste, um ein paar links von www da draußen zu holen. 

Übrigens teile ich dies für alle, die sich auf dasselbe beziehen. 

Sie benötigen ein Shellscript, um chronisch ausgeführt zu werden, indem Sie Windows Task Scheduler verwenden. Außerdem benötigen Sie ein Batch-Skript (script.bat), um php.exe aufzurufen und Ihr php-Skript (hier als my_process.php) auszuführen.

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"

Jetzt können Sie Windows Task Scheduler so einstellen, dass shellscript.vbs im erforderlichen Zeitintervall ausgeführt wird:

  1. Öffnen Sie Taskplaner im Windows-Menü Start
  2. Gehen Sie zum Action Menü und drücken Sie Create Task ...}
  3. füllen Sie auf der Registerkarte General die Felder Name und Description wie gewünscht aus
  4. drücken Sie auf der Registerkarte Trigger die Taste Neu.
  5. wählen Sie aus Beginnen Sie die Task Dropdown-Liste, wählen Sie Nach Zeitplan und wählen Sie Täglich
  6. wählen Sie im Bereich Erweiterte Einstellungen den Bereich Task alle wiederholen aus, und legen Sie für eine Dauer auf Unbestimmt fest.
  7. wählen Sie auf der Registerkarte Aktionen aus der Dropdown-Liste Aktion _ ​​Programm starten aus.
  8. geben Sie im Feld Program\script den Pfad zu shellscript.vbs wie C:\path\to\shellscript.vbs ein.
  9. Argumente hinzufügen (optional) leer lassen.
  10. geben Sie im Feld Start in (optional) das übergeordnete Verzeichnis von shellscript.vbs wie C:\path\to\ ein.
  11. Treffen Sie in diesem Tutorial eine positive Meinung :) Viel Spaß.
39
Trix

Wenn Sie die Antwort von Trix verwenden und dasselbe Problem wie Metafaniel erhalten,

Ich habe ein Problem. Bei dieser Prozedur wird die Aufgabe ausgeführt Mein PHP-Skript läuft jedoch nicht, ich habe das "Öffnen mit" Dialog. Wenn ich die Eigenschaften meiner Aufgabe sehe, heißt es: ActionName C:\Windows\system32\OpenWith.exe, auch wenn ich die VBS-Datei als .__ eingestellt habe. du schlugst vor. Was mache ich falsch?

sie sollten dies verwenden:

  1. Geben Sie stattdessen "Pfad zu shellscript.vbs wie C:\Pfad\to\shellscript.vbs ein." verwende "C:\Windows\System32\wscript.exe"
  2. Lassen Sie stattdessen "Argumentattribute hinzufügen (optional) leer" verwenden (mit Anführungszeichen): "C:\Pfad\to\shellscript.vbs"
1
DimaX

Um einen Windows-Computer für die Ausführung von cron.php zu einem bestimmten Zeitpunkt einzurichten, befolgen Sie die nachstehenden Anweisungen. Dies kann nützlich sein, wenn Sie mit Linux/Unix nicht vertraut sind oder Ihr Webhost keine Cron-Jobs ausführen kann. Sie können sie von Ihrem eigenen Computer aus ausführen.

Hinweis: Diese Anweisungen wurden für Windows XP geschrieben, sollten jedoch in anderen Windows-Versionen ähnlich sein.

https://www.drupal.org/node/31506

1
Ravi Chauhan