WebsiteBaker Support (2.13.x) > Hilfe & Support (deutsch)

Ausführung externer WB-Scripts (Bspl.: croncheck)

<< < (2/3) > >>

LudwigSt:
Dann ist doch alles ok, oder gibt es damit ein Problem?

hillschmidt:
s.o.
Genau bei diesem Aufruf aus der Shell über Cron gibt es die oben beschriebene Fehlermeldung ... also weiterhin nicht alles ok

DarkViper:
Ich glaub, ich muss da kurz mal aufklären...   :wink:

Es besteht ein großer Unterschied zwischen den Aufrufen

--- Code: ---https://example.com/croncheck.php
--- End code ---
und
--- Code: ---php -f path/to/script/croncheck.php
--- End code ---
Im ersten Fall wird der Webserver (z.B. Apache) aufgerufen, der das Environment aufbaut und die Request Variablen (GET/POST/etc.) einrichtet und dann z.B. über fpm-fastcgi  den PHP-Interpreter startet und diesem das Script plus das Environment übergibt. So wäre alles im grünen Bereich.

Im zweiten Fall wird per Shell direkt die ComandLineInterface-Version von PHP gestartet und die Aufrufparameter als simples Array ($args[]) übergeben. In diesem Fall fehlen z.B. das gesamte $_SERVER[] - Array und natürlich auch $_GET[] und $_POST[]. Unter diesen Bedingungen ist es WB (das auf HTTP-Requests ausgelegt ist) schlicht unmöglich, korrekt zu starten.

Lösungsmöglichkeit:  Es bräuchte einen Wrapper, der den CLI-Aufruf in einen HTTP-Request umsetzt. (also ein Script, das einen CLI-Aufruf verarbeiten und mit den Daten einen HTTP-Request auslöst.
Leider hebe ich selbst gerade null Zeit, sowas zu tippern. Aber evt. kennt sich da ja noch jemand anderes gut genug aus, und kann das übernehmen.

Manuela

hgs:
Frage an hillschmidt, was hindert dich daran es so wie im Beispiel zu machen?


--- Code: ---https://example.com/croncheck.php
--- End code ---

Ich mache das seit Jahre bei all-inkl.com genau so, wobei croncheck.php im DocRoot bei mir steht.

DarkViper:

--- Quote from: hgs on April 24, 2023, 02:52:11 PM ---Frage an hillschmidt, was hindert dich daran es so wie im Beispiel zu machen?
--- End quote ---
eventuell das Cron-Management  :wink: Der Standard-Cron, der normalerweise installiert ist, kann keine HTTP-Requests absenden, sondern nur shell scripte oder Programme aufrufen. Er kann auch mit den HTML-Antworten eines PHP-Programmes nichts anfangen.
Das Thema ist deutlich komplexer, als es auf den ersten Blick erscheint.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version