Wie kann ich einen cron-Job mit PHP testen?
Frage
Dies ist das erste Mal, dass ich einen cron verwendet haben.
Ich verwende es externe Daten zu analysieren, die automatisch in ein Unterverzeichnis auf unserer Website FTP'd wird.
Ich habe einen Controller und das Modell erstellt, der die Daten verarbeitet. Ich kann die URL in Ordnung in meinem Browser zugreifen und es funktioniert (aber ich werde diese bald zu beschränken).
Mein Problem ist, wie kann ich testen, ob es funktioniert?
Ich habe das meinen Controller für ein schnelles und schmutziges Protokoll hinzugefügt
$file = 'test.txt';
$contents = '';
if (file_exists($file)) {
$contents = file_get_contents($file);
}
$contents .= date('m-d-Y') . ' --- ' . PHP_SAPI . "\n\n";
file_put_contents($file, $contents);
Aber bisher nur bekam Anfragen von mir aus dem Browser angemeldet, trotz meiner CRON mit je Minute ausgeführt wird.
03-18-2010 --- cgi-fcgi
03-18-2010 --- cgi-fcgi
Ich habe es eingerichtet mit cPanel mit dem Befehl
index.php properties/update/
der zweite Teil ist das, was ich die Seite in meinem Browser zugreifen zu können.
Wie kann ich testen, dies richtig funktioniert, und habe ich stopfte alles auf?
. Hinweis: Ich bin mit Kohana 3
Vielen Dank
Lösung
Sie sind nicht den richtigen Befehl Kohana für den Aufruf.
Achten Sie darauf, den vollständigen Pfad zu index.php verwenden, so dass Sie alle Pfad Fehler beseitigen kann. Hier sind die verfügbar Schalter für den Einsatz in Kohana :
- - uri : Selbsterklärend
- - Methode : HTTP-Request-Methode (POST, GET, etc ...) (Überschreibungen Kohana :: $ method)
- - erhalten : Formatierte GET-Daten
- - Post : Formatierte POST-Daten
Sie sollten so etwas wie dieses werden:
php /path/to/kohana/directory/index.php --uri=properties/update/
kann ich mich nicht erinnern, wenn Sie um den Wert doppelte Anführungszeichen brauchen, vergessen Sie nicht, um zu versuchen, dass, wenn es nicht funktioniert.
Andere Tipps
Sie wahrscheinlich nicht laufen Cron mit Root-Rechten auf diese Datei.
setzte mailto="youremail@yourdomain.tld"
zu Beginn der cron-Datei, um es Ihnen Fehler per E-Mail.
Wenn Sie Root-Zugriff auf die Cron-Datei (I.E. SSH) nicht, weiß ich nicht, wenn Sie dies in cPanel tun können.