Das routing warning war nur oben (angemerkt *) und hatte mit dem cache Fehler Zeug (rechts) nichts zu tun.
* Ebenso wie das subscribe warning ebenda in routing Zeile 426, Das habe ich gerade auf Styx gefixt.
Der voku cache Fehler tritt aber auch auf wenn man im Frontend einen Kommentar sendet und verweist in seiner (#x) Stack trace Liste dann aber auf kein Seitenleisten cache file. Insofern ist da vielleicht noch etwa zu machen. Komisch ist nur dass ich lokal bei mir mit allem was an internen debugging Einstellungen möglich ist, bisher solches überhaupt nicht nachstellen kann. Und die sind viel schärfer als deine dev Version.
Inzwischen tendiere ich dazu das als eine Art "Bug" zu betrachten. Der Autor von voku/simple-cache müsste das besser abfangen.., bzw.
Wahrscheinlich ist aber die
opcache.so
library in deinem PHP 7.4.16(?) aktiviert bzw geladen aber eben im PHP 8.0.3 nicht, Aufschluss könnte dir eventuell ein Blick auf die phpinfo() Ausgaben geben, bzw eine Nachfrage beim Support. Vielleicht gibt es ja Gründe warum das nicht an ist oder sie sind vielleicht noch nicht dazu gekommen.
Ansonsten würde ich vorerst wieder auf PHP 7.4 zurückkehren. Aber das ist keine Dauerlösung!
Edit:
Vorher könnten wir allerdings mal schnell testen ob eine function exists Einklammerung per
if (function_exists('opcache_get_status')) {
use voku\cache\Cache;
......
alles bis zum define('serendipity_FUNCTIONS_LOADED', true);
}
define('serendipity_FUNCTIONS_LOADED', true);
an geeigneter Stelle etwas hilft. Zb in der functions.inc.php Datei wo der voku gesetzt wird ca Zeile 1547
Beat Post author am |
Sorry, ich kriege das mit den Änderungen in der functions.inc.php nicht gebacken?. Nach den gemachten Änderungen wird immer ein fatal error auf Zeile 1547 ausgeworfen. Ich denke jedoch, dass ich den Fehler ganz am Ende der Datei erzeuge, denn da steht dann 2x das Selbe:
Doch tut es!. Lass mal das .so weg bei der Suche. Opcache ist geladen und aktiviert! ABER unter disable_functions steht opcache_get_status und somit ist die benötigte Funktion deaktiviert. Was das soll begreife ich aber nicht..
Was sagt der support dazu? Gibt es einen vernünftigen Grund dies nicht zu aktivieren? (die phpinfo bitte wieder löschen)!
Also dieser Nginx Proxy Cache treibt einen zum Wahnsinn, so oft wie der unerreichbare Seiten produziert und mit all den verbunden Nachteilen von runtime Sachen wie bee captchas etc.... ich weiß nicht ob die erworbene Schnelligkeit das wettmacht...
Naja seis drum, jedenfalls hast du mich mit der Klammer falsch verstanden, scheints.
if (function_exists('opcache_get_status')) {
..hier drin nun alles was zum cache gehört..
}
define('serendipity_FUNCTIONS_LOADED', true); //so endet die Datei
Beat Post author am |
Habe den Support angeschrieben und nachgefragt, ob das zeitnah eingeschaltet wird. Abwarten...
(Ich glaube, die haben jede Menge Arbeit. Die Ticketnummer ist seit der gestrigen Anfrage (utf8mb4) bereits über 250 höher)
Beat Post author am |
O.K. Jetzt kann die Seite (trotz meiner Änderungen) immerhin wieder geladen werden.
Nach dem Speichern eines Kommentars wird man jedoch immer noch auf eine Fehlerseite geworfen. Nun mit der Anzeige (unter Anderem):
Ok .. Ich sehe das war noch nicht durchdacht genug.
Probiere es mal damit (kompletter Ersatz)
$opcache = function_exists('opcache_get_status')) ? true : false;
use voku\cache\Cache;
// Configure voku/simple-cache to use templates_c as directory for the opcache files, the fallback
// when Memcached and Redis are not used. Returns the configured cache object. Used internally by
// the other cache functions, you most likely never need to call this.
function serendipity_setupCache() {
global $opcache;
if ($opcache === false) {
return $opcache;
}
$cacheManager = new \voku\cache\CacheAdapterAutoManager();
$cacheManager->addAdapter(
\voku\cache\AdapterOpCache::class,
static function () {
global $serendipity;
$cacheDir = $serendipity['serendipityPath'] . '/templates_c/simple_cache';
return $cacheDir;
}
);
$cacheManager->addAdapter(
\voku\cache\AdapterArray::class
);
$cache = new Cache(
null,
null,
false,
true,
false,
false,
false,
false,
'',
$cacheManager,
false
);
return $cache;
}
function serendipity_cleanCache() {
global $opcache;
if ($opcache === false) {
return $opcache;
}
$cache = serendipity_setupCache();
return $cache->removeAll();
}
function serendipity_cacheItem($key, $item, $ttl = 3600) {
global $opcache;
if ($opcache === false) {
return $opcache;
}
$cache = serendipity_setupCache();
return $cache->setItem($key, $item, $ttl);
}
function serendipity_getCacheItem($key) {
global $opcache;
if ($opcache === false) {
return $opcache;
}
$cache = serendipity_setupCache();
return $cache->getItem($key);
}
define('serendipity_FUNCTIONS_LOADED', true);
/* vim: set sts=4 ts=4 expandtab : */
Edit: Nachgebessert und global eingefügt, sorry! Edit2: Schließende Klammern eingefügt
Beat Post author am |
Nee, so geht das nicht. Zuerst wirft es einen Fehler auf Zeile 1457 (die erste) aus. Ich glaube, da fehlt eine öffnende Klammer ganz zu Beginn.
Wenn ich die Klammer einfüge, dann verschiebt sich der Fehler nach:
Parse error: syntax error, unexpected token "return" in /include/functions.inc.php on line 1556
Nee da fehlen schließende Klammern (siehe edit2) sorry!
Beat Post author am |
Ich habe es nur so lauffähig gekriegt, indem ich in der ersten Zeile die zweite schliessende Klammer entfernt habe. Sonst wird immer die erste Zeile (1547) angemeckert.
Nachtrag: So scheint es nun zu funktionieren. Nach dem Speichern des Kommentars erhielt ich nun keine Fehlermeldung mehr.
am besten einfach drüberbügeln ist wohl am einfachsten. Ansonsten commits ansehen.
Trotzdem ist das mit dem $opcache in der functions.inc nur so eine Art workaround, bis geklärt ist, warum sie die status Funktion eigentlich abgestellt haben.
Beat Post author am |
O.K. Gemacht. ?
Beat Post author am |
Seit dem Update erhalte ich keine E-Mail-Benachrichtigungen mehr, wenn neue Kommentare eingegangen sind.
Ich nehme aber an, dass die nichts mit der Styx-Edition zu tun hat, denn im Live-Blog funktioniert das nach wie vor. Die Einstellungen habe ich natürlich kontrolliert. Daran liegt es nicht.
Seit dem Update erhalte ich keine E-Mail-Benachrichtigungen mehr
Seit welchem update, den drei Dateien oder seit 3.4-alpha2 ?
Nachtrag: Laut auftretender Fehlermeldung hast du die functions_comments.inc doch noch nicht upgedated. Das ergibt header already sent Fehler die möglicherweise das email versenden verhindern.
Beat Post author am |
Ich hätte jetzt gesagt, dass dies seit dem Wechsel auf PHP8.0.3 der Fall ist. Habe ja erst heute Morgen auf Styx 3.4-alpha2 gewechselt und schon gestern kamen keine E-Mails mehr.
Und: Es ist halt wie immer... lesen müsste man können... ? Der Dateiname beinhaltet .inc
Das wäre natürlich blöd wenn PHP 8 irgend etwas am Mailversandt abstellen würde. Vorerst müssen wir uns aber auf all die kleinen Fehler konzentrieren, die dann einfach eine runtime Unterbrechung darstellen und womögliche Folgefehler provozieren.
Beat Post author am |
Hier die Antwort:
Besten Dank für Ihre Anfrage.
Das kann ich Ihnen nicht sagen aber ich würde sagen bleiben Sie auf PHP 7.4, bis das sicher aktiv ist.
Ich wünsche Ihnen einen schönen Tag.
Wie zu erwarten war...
Ian Styx am |
Das zeigt nur dass sie komplett nicht verstanden haben. Das sind Support Mitarbeiter, (meist) keine Admins. (Sie sollen aber den Admins den Rücken freihalten.) Man muss ihnen sehr genau erklären dass sie es (trotzdem) weiterzugeben haben an jemanden, der damit etwas anzufangen weiß. Denn phpinfo() Einstellungen verweisen auf PHP Server Einstellungen und sind meist nur dort sinnvoll zu verändern, vorallem wenn es sich um disabled functions dreht, die durchaus hinterfragbar sind. Die
opcache_get_status
Funktion ist ja gerade dafür gedacht herauszufinden ob man opcache überhaupt verwenden kann. Sonst macht das aktivieren der library ja auch gar keinen Sinn, meine ich.
Beat-Admin am |
Nach dem Speichern des letzten Kommentars erhielt ich folgende Anzeige:
Kann ich später ja wieder löschen (wegen den vollen Pfadangaben).
Beat-Admin am |
^ War beim letzten Kommentar wieder so.
Habe die (überarbeitete) functions_routing.inc.php von www.beatsblog.ch hierhin kopiert und nun wird die rechte Seitenleiste wieder angezeigt.
Ian Styx am |
Das zeigt nur dass deine Plugins nicht up to date sind. ? Bee ist 1.4.4. Damit ich weiter konnte habe ich das Update selbst schnell gemacht.
Ian Styx am |
Das routing warning war nur oben (angemerkt *) und hatte mit dem cache Fehler Zeug (rechts) nichts zu tun.
* Ebenso wie das subscribe warning ebenda in routing Zeile 426, Das habe ich gerade auf Styx gefixt.
Der voku cache Fehler tritt aber auch auf wenn man im Frontend einen Kommentar sendet und verweist in seiner (#x) Stack trace Liste dann aber auf kein Seitenleisten cache file. Insofern ist da vielleicht noch etwa zu machen. Komisch ist nur dass ich lokal bei mir mit allem was an internen debugging Einstellungen möglich ist, bisher solches überhaupt nicht nachstellen kann. Und die sind viel schärfer als deine dev Version.
Ian Styx am |
Inzwischen tendiere ich dazu das als eine Art "Bug" zu betrachten. Der Autor von voku/simple-cache müsste das besser abfangen.., bzw.
Wahrscheinlich ist aber die
library in deinem PHP 7.4.16(?) aktiviert bzw geladen aber eben im PHP 8.0.3 nicht, Aufschluss könnte dir eventuell ein Blick auf die phpinfo() Ausgaben geben, bzw eine Nachfrage beim Support. Vielleicht gibt es ja Gründe warum das nicht an ist oder sie sind vielleicht noch nicht dazu gekommen.
Ansonsten würde ich vorerst wieder auf PHP 7.4 zurückkehren. Aber das ist keine Dauerlösung!
Edit:
Vorher könnten wir allerdings mal schnell testen ob eine function exists Einklammerung per
an geeigneter Stelle etwas hilft. Zb in der functions.inc.php Datei wo der voku gesetzt wird ca Zeile 1547
Beat Post author am |
Sorry, ich kriege das mit den Änderungen in der functions.inc.php nicht gebacken?. Nach den gemachten Änderungen wird immer ein fatal error auf Zeile 1547 ausgeworfen. Ich denke jedoch, dass ich den Fehler ganz am Ende der Datei erzeuge, denn da steht dann 2x das Selbe:
Die aktuelle phpinfo habe ich in die Mediathek hochgeladen. Da steht rein gar nichts von opcache.so
Ian Styx am |
Doch tut es!. Lass mal das .so weg bei der Suche. Opcache ist geladen und aktiviert! ABER unter disable_functions steht opcache_get_status und somit ist die benötigte Funktion deaktiviert. Was das soll begreife ich aber nicht..
Was sagt der support dazu? Gibt es einen vernünftigen Grund dies nicht zu aktivieren? (die phpinfo bitte wieder löschen)!
Ian Styx am |
Also dieser Nginx Proxy Cache treibt einen zum Wahnsinn, so oft wie der unerreichbare Seiten produziert und mit all den verbunden Nachteilen von runtime Sachen wie bee captchas etc.... ich weiß nicht ob die erworbene Schnelligkeit das wettmacht...
Naja seis drum, jedenfalls hast du mich mit der Klammer falsch verstanden, scheints.
Beat Post author am |
Habe den Support angeschrieben und nachgefragt, ob das zeitnah eingeschaltet wird. Abwarten...
(Ich glaube, die haben jede Menge Arbeit. Die Ticketnummer ist seit der gestrigen Anfrage (utf8mb4) bereits über 250 höher)
Beat Post author am |
O.K. Jetzt kann die Seite (trotz meiner Änderungen) immerhin wieder geladen werden.
Nach dem Speichern eines Kommentars wird man jedoch immer noch auf eine Fehlerseite geworfen. Nun mit der Anzeige (unter Anderem):
/include/functions_comments.inc.php on line 918
Ian Styx am |
Mal ausprobieren... ?
Mit den tickets hast du vermutlich recht ?
Ian Styx am |
Ok .. Ich sehe das war noch nicht durchdacht genug.
Probiere es mal damit (kompletter Ersatz)
Edit: Nachgebessert und global eingefügt, sorry!
Edit2: Schließende Klammern eingefügt
Beat Post author am |
Nee, so geht das nicht. Zuerst wirft es einen Fehler auf Zeile 1457 (die erste) aus. Ich glaube, da fehlt eine öffnende Klammer ganz zu Beginn.
Wenn ich die Klammer einfüge, dann verschiebt sich der Fehler nach:
Parse error: syntax error, unexpected token "return" in /include/functions.inc.php on line 1556
Das ist dann bei der Zeile: return $opcache;
Ian Styx am |
Nee da fehlen schließende Klammern (siehe edit2) sorry!
Beat Post author am |
Ich habe es nur so lauffähig gekriegt, indem ich in der ersten Zeile die zweite schliessende Klammer entfernt habe. Sonst wird immer die erste Zeile (1547) angemeckert.
Nachtrag: So scheint es nun zu funktionieren. Nach dem Speichern des Kommentars erhielt ich nun keine Fehlermeldung mehr.
Ian Styx am |
hmmm what what ??? Ahhh - Du meinst
natürlich! ?
Ian Styx am |
Nachdem wir das nun geklärt haben, müsstest du noch ein paar andere Dinge nachholen...
am besten einfach drüberbügeln ist wohl am einfachsten. Ansonsten commits ansehen.
Trotzdem ist das mit dem $opcache in der functions.inc nur so eine Art workaround, bis geklärt ist, warum sie die status Funktion eigentlich abgestellt haben.
Beat Post author am |
O.K. Gemacht. ?
Beat Post author am |
Seit dem Update erhalte ich keine E-Mail-Benachrichtigungen mehr, wenn neue Kommentare eingegangen sind.
Ich nehme aber an, dass die nichts mit der Styx-Edition zu tun hat, denn im Live-Blog funktioniert das nach wie vor. Die Einstellungen habe ich natürlich kontrolliert. Daran liegt es nicht.
Ian Styx am |
Seit welchem update, den drei Dateien oder seit 3.4-alpha2 ?
Nachtrag: Laut auftretender Fehlermeldung hast du die functions_comments.inc doch noch nicht upgedated. Das ergibt header already sent Fehler die möglicherweise das email versenden verhindern.
Beat Post author am |
Ich hätte jetzt gesagt, dass dies seit dem Wechsel auf PHP8.0.3 der Fall ist. Habe ja erst heute Morgen auf Styx 3.4-alpha2 gewechselt und schon gestern kamen keine E-Mails mehr.
Und: Es ist halt wie immer... lesen müsste man können... ? Der Dateiname beinhaltet .inc
Ian Styx am |
Aber eine solche ohne .inc gibts gar nicht...?
Das wäre natürlich blöd wenn PHP 8 irgend etwas am Mailversandt abstellen würde. Vorerst müssen wir uns aber auf all die kleinen Fehler konzentrieren, die dann einfach eine runtime Unterbrechung darstellen und womögliche Folgefehler provozieren.
Beat Post author am |
Hier die Antwort:
Wie zu erwarten war...
Ian Styx am |
Das zeigt nur dass sie komplett nicht verstanden haben. Das sind Support Mitarbeiter, (meist) keine Admins. (Sie sollen aber den Admins den Rücken freihalten.) Man muss ihnen sehr genau erklären dass sie es (trotzdem) weiterzugeben haben an jemanden, der damit etwas anzufangen weiß. Denn phpinfo() Einstellungen verweisen auf PHP Server Einstellungen und sind meist nur dort sinnvoll zu verändern, vorallem wenn es sich um disabled functions dreht, die durchaus hinterfragbar sind. Die
Funktion ist ja gerade dafür gedacht herauszufinden ob man opcache überhaupt verwenden kann. Sonst macht das aktivieren der library ja auch gar keinen Sinn, meine ich.