Es gibt bestimmte Dinge, die Sie in dieser Hinsicht verstehen müssen.
Das erste ist, dass PHP entweder als web server module
ausgeführt werden kann oder als standalone executable
. Wenn Sie es als Webservermodul ausführen, öffnen Sie es über den Browser, alle zugehörigen Webtechnologien (html/css/js)
usw. werden geparst und arbeiten im Einklang.
Wenn Sie es von der Befehlszeile aus mit Cron ausführen, sagen Sie zum Beispiel /usr/bin/php mywebpage.php
dann analysiert/versteht die ausführbare PHP-Datei die anderen Web-Technologien NICHT und Ihre Seite wird daher fehlschlagen.
Hierfür gibt es zwei Problemumgehungen:
-
Schreiben Sie nur diese webfähigen Teile um, damit das Ajax/js-Zeug von PHP gehandhabt wird. Grundsätzlich gilt die Faustregel, dass, wenn Sie ein CLI-PHP-Skript ausführen, es NUR Kern-PHP enthalten sollte. Dies ist der bevorzugte Weg. Sie müssen die Ajax-Aufrufe in dieselbe Datei verschieben und sie wie jedes normale Programm zu einem einzigen Ausführungsablauf machen.
-
Wenn Sie dies aus irgendeinem Grund nicht tun können, können Sie Folgendes versuchen:
/path/to/browser http://mysite/mywebpage.php
. Hier führen Sie eine ausführbare Browserdatei aus und rufen dann die Webseiten-URL auf. Auf diese Weise wird die Seite in der Umgebung des Browsers ausgeführt und kann die ajax/js-Aufrufe analysieren und verstehen.