Hallo,
ich würde gerne mit einem CronJob eine Action des Controllers im ZF2 auslösen.
Dazu gibt es ja die Zend\Console:
http://framework.zend.com/manual/curren ... ction.html
Jedoch ist es in der Weboberfläche nur möglich eine php Datei für den CronJob anzugeben und keine Shell Kommandos.
Jetzt wollte ich per shell_exec("/usr/bin/php <pfad zur index.php> <befehl>") in meiner CronJob.php Datei den Befehl ausführen, was leider nicht möglich ist.
Welche Möglichkeiten habe ich den per CronJob den Zend\Console Befehl auszuführen?
Mein Paket:
Domainserver light
CronJob und ZendFramework2
Re: CronJob und ZendFramework2
Was sollte damit
shell_exec("/usr/bin/php <pfad zur index.php> <befehl>")
denn ausgeführt werden?
warum nicht einfach so:
http://..../index.php?....
shell_exec("/usr/bin/php <pfad zur index.php> <befehl>")
denn ausgeführt werden?
warum nicht einfach so:
http://..../index.php?....
Re: CronJob und ZendFramework2
Ich will ja nicht die View öffnen sondern ein "Console Route" ausführen.MainziMan hat geschrieben:Was sollte damit
shell_exec("/usr/bin/php <pfad zur index.php> <befehl>")
denn ausgeführt werden?
warum nicht einfach so:
http://..../index.php?....
Damit wird eine Methode im Controller ohne View ausgeführt.
Genaueres wird in der Beschreibung unter den oben angeführten Link beschrieben.
Re: CronJob und ZendFramework2
Du kannst jederzeit an Stelle von
php <path>/index.php <param1> <param2> <param3>
äquivalentes durch Aufruf von folgendem erreichen:
http://.../<path>/index.php?<param1>+<param2>+<param3>
(mehr lese ich auf dem von Dir angeführten Link eigentlich auch nicht heraus)
php <path>/index.php <param1> <param2> <param3>
äquivalentes durch Aufruf von folgendem erreichen:
http://.../<path>/index.php?<param1>+<param2>+<param3>
(mehr lese ich auf dem von Dir angeführten Link eigentlich auch nicht heraus)
Re: CronJob und ZendFramework2
Hallo,
nein so funktioniert das nicht.
Ich habe es jetzt anders gelöst:
Ich rufe mit curl_exec einen link von meiner HP auf, der Controller dahinter führt mir die nötigen Befehle aus.
Zur Absicherung damit von außen keiner die Action ausführen kann habe ich noch die IP Adressen abgefragt. Jedoch verwundert mich, dass die IP des Servers der den CronJob ausführt nicht die gleiche ist wie die des Webhosters.
Also funktioniert nicht. Was funktioniert ist
Das ganze ist natürlich alles andere als eine schöne Lösung, aber mit Zend\Console funktioniert es leider nicht auf diesem Webhoster.
nein so funktioniert das nicht.
Ich habe es jetzt anders gelöst:
Ich rufe mit curl_exec einen link von meiner HP auf, der Controller dahinter führt mir die nötigen Befehle aus.
Zur Absicherung damit von außen keiner die Action ausführen kann habe ich noch die IP Adressen abgefragt. Jedoch verwundert mich, dass die IP des Servers der den CronJob ausführt nicht die gleiche ist wie die des Webhosters.
Also
Code: Alles auswählen
$_SERVER["REMOTE_ADDR"] == $_SERVER["SERVER_ADDR"]
Code: Alles auswählen
$_SERVER["REMOTE_ADDR"] == "81.19.145.238"
Re: CronJob und ZendFramework2
Du meinst die IP-Adresse des Webservers nicht des Webhosters;
um unbefugten Zugriff abzuwehren, solltest dies besser durch einen Verzeichnisschutz definieren; die IP-Adresse kann sich ändern, und dann sucht jemand verzweifelt nach der Ursache, wenn es dann nicht mehr geht ...
um unbefugten Zugriff abzuwehren, solltest dies besser durch einen Verzeichnisschutz definieren; die IP-Adresse kann sich ändern, und dann sucht jemand verzweifelt nach der Ursache, wenn es dann nicht mehr geht ...