webentwicklung-frage-antwort-db.com.de

Einrichten einer Crontab in Windows Xampp

Zum Einrichten dieses Befehls in meinem Xampp-Windows-Server war Hilfe erforderlich

0 * * * *     cd C:/xampp/htdocs/plugins/moviefeed/ && php cron.php

Könnten Sie mich bitte in die richtige Richtung weisen?

vielen Dank

14
ashley

Unter Windows gibt es kein Cron .... Sie müssen die Scheduler-Task von Windows verwenden, um einen "Cronjob" zu erstellen. Beispiel für die Verwendung des Windows-Schedulers

12
donald123

VladH schrieb/st, ich glaube es sollte/sc sein 

Öffnen Sie eine Eingabeaufforderung und geben Sie ein

schtasks /create /tn "XamppCron" /tr "L:\xampp\php\php.exe L:\xampp\htdocs\mydevsite\cron.php" /sc minute /mo 10

Wenn Sie mit dem Befehl cron zufrieden sind, wenn Sie php-win.exe ausführen, wird das Eingabeaufforderungsfenster nicht bei jeder Ausführung der Task angezeigt. 

6
oasisfleeting

Sie können ganz einfach eine .bat-Datei erstellen, in der Sie Ihre Zeitplanaufgabe für Windows ..__ definieren.

set doc=C:\xampp\htdocs\project
cd "%doc%"
copy /y nul "file.php"
ECHO ^<?php echo 'This is executed via scheduler task!'; ?^> >file.php
schtasks /create /tn "Cron" /tr "C:\Program Files (x86)\Mozilla Firefox\firefox.exe http://play.local/fisierul.php" /st minute /mo 10

Was ich hier gemacht habe, ist:

  • Ich habe den Pfad zu "Projekt" -Verzeichnis von "htdocs" geändert.
  • Ich erstelle eine Datei "file.php" (falls nicht vorhanden)
  • Ich schreibe ein einfaches Echo in die Datei "file.php"
  • Und ich erstelle eine neue Scheduler-Task (ähnlich wie cron-Jobs in Unix), die meinen Mozilla-Browser öffnet und alle 10 Minuten auf diese URL zugreift.

Hinweis: Um eine Scheduler-Task zu stoppen, müssen Sie in cmd und type eingeben 

schtasks /delete /tn "Cron"

Viel Glück man!

4
VladH

Ich füge nichts Neues hinzu, sondern nur einen Testfall. Die Verwendung der Taskplaner-Benutzeroberfläche wäre für einen einfachen Cron-Job mühsam/unnötig, daher verwendet diese Demo .bat-Dateien. In der Demo wird die Zahl in der "counter.txt" jede Minute um 1 erhöht.


In "htdocs" wurde ein Ordner "cron" mit diesen Dateien erstellt:

  • counter.txt
  • index.php
  • schtask_add.bat
  • schtask_del.bat
  • schtask_query.bat

Inhalt der Dateien:

counter.txt

0

index.php

<?php
    $filepath = "C:/xampp/htdocs/cron/counter.txt";
    $i = file_get_contents($filepath);
    $i = (int) $i;
    $i++;
    file_put_contents($filepath, $i);

schtask_add.bat

@echo off
schtasks /Create /TN XAMPP /TR "C:/xampp/php/php-win.exe C:/xampp/htdocs/cron/index.php" /SC MINUTE /MO 1
pause

schtask_del.bat

@echo off
schtasks /Delete /TN XAMPP /F
pause

schtask_query

@echo off
schtasks /Query /TN XAMPP
pause

Getestet mit XAMPP 7.1.11 unter Windows 10 (64-Bit).


Schtasks.exe | Microsoft Docs

Aufgaben - Geplante Aufgaben - Windows CMD - SS64.com

PHP: CLI und CGI - Handbuch (php.exe vs php-win.exe)

1
akinuri