ich versuche über einen Cronjob im Hosting (plesk-Oberfläche ohne SSH !) einen Cron einzurichten, welcher eine PHP-Datei ausführt. Shell-Skripte lassen sich scheinbar nicht ausführen.
In dieser PHP-Datei ( cron_cache_warmup.php ) wird der Cache geleert und danach aufgewärmt:
Hierzu muss man erläutern, dass ich zunächst beide exec-Befehle ausgeführt habe, bis ich -c entdeckt habe um vor dem Aufwärmen den Cache zu leeren.
Manuell:
Führe ich nun den Cronjob im Plesk manuell aus über den Button “Jetzt ausführen”, wird die cron_cache_warmup.php angesprochen und ausgeführt. Der Cache wird dann aufgewärmt.
Geplant:
Für den geplanten Task, welcher automatisch nachts durchgeführt werden soll, erhalte ich im Shopware Log Fehlermeldungen und der Cache wird nicht aufgewärmt.
Fehlermeldungen:
Warm up http-cache error with shopId 1 cURL error 7: Failed to connect to DOMAINNAME.de port 443: Connection refused
Die Fehlermeldung erhalte ich für alle Subshops. Es sind 16226 Fehlermeldungen innerhalb von 15 Sekunden.
Laut Fehlermeldung meckert er weil er keine Verbindung über den Port 443 bekommt, diese ist Standartmässig der PORT für SSL/TLS
Versuche doch mal über https, bzw…passe den Curl Connect dementsprechend an.
Blöd gefragt (weil ohne Ahnung): cUrl kann ich nur per SSH Zugriff anpassen? Den habe ich nämlich nicht.
Muss ich dann mit dem Hoster korrespondieren oder kann ich das doch irgendwie selbst machen?
ich habe die Rechte der Datei auf 755 gesetzt und einen Cron geplant. Die Rechte waren tatsächlich nicht ausreichend.
Ich werden berichten ob es klappt.
Andere Frage:
Ich habe parallel mehrere Shops liegen. Ein parallel liegender Shop wurde einmalig manuell aufgewärmt. Nach ca. 1-2 Tagen ist der Cache allerdings nicht mehr aufgewärmt. Ich habe den Cache nicht manuell invalidiert und war auch nicht im Backend in dieser Zeit.
Frage: Leert sich der Cache von selbst und man muss jede Nacht aufwärmen? Unter Einstellungen > Caches / Performance > Einstellungen > HTTP-Cache gibt es ja Cache Zeiten für die Controller… hat das was damit zu tun?
Häufig kann ich mit die Daten für den Cache auch nicht mehr ansehen. (siehe Screenshot). Das Hosting sollte aber leistungstechnisch mind. ausreichend sein.
@scriptfarm ich kann die Datei aufrufen. Es erscheint eine weiße Seite. Ich kann aber nicht sagen, ob nun der Befehl ausgeführt wird, da ich im Backend unter Performance Cache nur den 0 - communication failure Fehler erhalte. Erst wenn ich den Cache einmal leere, funktioniert die Anzeige wieder. Nach erneutem Ausführen der PHP-Datei über den Browser scheint kein Cache aufgewämt zu werden.
@NahtlosShop nein ich habe leider keinen SSH Zugang…
@StefanPoensgen Ich kann diesen Befehl nicht ausführen, weil php nicht gefunden wird… Unter “Einstellungen für geplante Aufgaben” kann ich nur die Zeitzone einstellen.
Genau - mit “Jetzt ausführen” im Plesk wird der Cache aufgewärmt. Beim geplanten Cron erscheinen die Fehler. Ich habe das jetzt mal an den Hoster weitergeleitet…
Der Tipp vom Hoster hat ebenfalls nicht das gewünschte Ergebnis gebracht. Manuell funktioniert es, per Cron funktioniert es nicht - auch nicht mit komplettem Pfad…
Ich bekomme per Mail ja auch immer einen Fehler ausgegeben. Im Betreff der Mail steht vll. was hilfreiches: