Kommentare von

beats TEST blog

Styx 3.4-alpha2 und PHP 8.0.3

Ian Styx am |

Nachdem wir das nun geklärt haben, müsstest du noch ein paar andere Dinge nachholen...

  • /plugins/serendipity_event_spamblock/serendipity_event_spamblock.php
  • /include/functions_comments.inc.php
  • /rss.php

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 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

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:

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.

Ian Styx am |

Ich meine ich könnte die Ursache für die nicht geschickte email gefunden haben. Bitte einmal die Datei komplett mit dieser ersetzen.

https://raw.githubusercontent.com/ophian/styx/master/include/functions_comments.inc.php

Wenn es das wirklich ist, kann uns das mit PHP 8 noch an anderen Stellen passieren, die ohne einen geworfenes und bemerkbares Warning einfach so durchflutschen. Denn so aufmerksam wie du in diesem Fall ist man ja nicht immer und es gibt sicherlich einige events die hier möglicherweise betroffen wären...

Mail-Tester am |

Test mit der neuen functions_comments.inc.php

benachrichtige mich am |

Leider auch keine Mail...

Ich versuche es mal mit "Bei Aktualisierung dieser Kommentare benachrichtigen"

Beat Post author am |

Nein, leider auch nicht. Aktuell werden von diesem Testblog keinerlei Mails verschickt.

Ian Styx am |

Hmm komisch...

Du hast die angegebene URL für die functions_comments.inc.php auch wirklich benutzt?

Probiere nochmal die spamblock plugin Datei mit dieser hier zu ersetzen:

https://raw.githubusercontent.com/ophian/styx/master/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php

Bei mir gehts (lt. debugging) aber immerhin bis genau zur Stelle an der die Mail versendet wird.

Funktioniert die PHP mail() Funktion denn sonst? ZB mit soetwas hier? (Bitte nach Benutzung nicht rumliegen lassen) ?

https://www.arclab.com/en/kb/php/how-to-test-and-fix-php-mail-function.html

PS. "Bei Aktualisierung dieser Kommentare benachrichtigen" betrifft nur Mail an Kommentatoren. Das ist die Subscription. Und das ist nicht das worüber wir hier verhandeln, die Benachrichtigungs eMail an den Bloginhaber!

Beat Post author am |

Habe alles genau so gemacht, wie gewünscht. Alles ohne Erfolg.

Habe nun -wie von arclab.com empfohlen- den Hosttech-Helpdesk angeschrieben und ihnen den Fehler gemeldet und das Mailscript angefügt.

Habe das mailtest.php nun wieder vom Server gelöscht.

Ian Styx am |

Gut so! (Ziemlich vermurkste Migration, oder? ?)

The output show either "Message accepted" or "Error: Message not accepted".

was hast du denn als Rückgabe bekommen?

Beat Post author am |

Ja, in allen Varianten (mit externen und internen Mailadressen) erhielt ich die Rückmeldung "Message accepted" doch in meinem Mailprogramm kam nie eine E-Mail an.

Ian Styx am |

Das ist ja noch mysteriöser...! Das hast du dem Support hoffentlich auch mitgeteilt.?

Beat Post author am |

Natürlich. ?

Contact your provider if it still does not work. Tell your provider that the standard php "mail()" function returns TRUE, but not mail will be sent.
It's recommended to include the used php test script to show your provider, that the problem is not caused by the php script used.

Wie empfohlen, habe ich dann auch den Code des Scripts angefügt.

Ian Styx am |

Sorry ? aber bei älteren Herrschaften bin ich mir nicht immer so sicher.... ?

Und Spam / Junk Ordner natürlich ebenfalls!?!

Beat Post author am |

Werd nicht frech! ? Nicht an einem Sonntag! ?

SPAM/Junk? Gibt es sowas?

Nein, auch dort nichts zu finden.

Beat Post author am |

Antwort des Helpdesk:

Besten Dank für Ihre Anfrage.

Wenn Ihr PHP-Skript unter der Version 8.0 nicht so funktioniert wie Sie es erwarten, würde ich Ihnen zunächst empfehlen wieder auf die Version 7.4 zu wechseln.

?hier werden sie geholfen? 

Beat Post author am |

Antwort auf die erneute Nachfrage:

Besten Dank für Ihre Rückmeldung.

Die Einstellungen von pcache_get_status ist bei uns auf dem Standard eingestellt, der vom Hersteller Plesk definiert wurde.

Wenn Sie etwas anderes wollen, müssen Sie auf einen eigenen vServer umziehen, da Sie dort die Einstellungen wie Sie wollen und brauchen vornehmen können.

Denn sie wissen nicht, was sie tun... ?

Ian Styx am |

Tatsächlich:
Plesk 17.8.11 - PHP value "disable_functions" changed to default value "opcache_get_status"

Aber ehrlich, das hat deinen hoster doch vorher doch auch nicht gestört. Rant: Und es stört sie auch nicht, dass sie immer noch eine alte openssl version OpenSSL 1.0.2k 26 Jan 2017 fahren. Das ist ein viel größeres Risiko! Weil viele der Verbesserungen erst in 1.1.1 eingeflossen sind. Und es stört sie scheinbar auch nicht das man opcache_get_staus() mit PHP 7.4 wohl auf ihrem Server dennoch verwenden(*) darf. Das macht doch keinen Sinn! (* Ehrlichwerweise muss man sagen dass wir das aber nicht so genau wissen, denn die Funktion ist ge@silenced, was mit PHP 7.4 noch geht, aber nicht mehr mit 8.)

Die Frage also ist, kann man den opcache trotzdem verwenden? Da er ja scheinbar trotz alledem enabled ist, denn die funktion fragt tatsächlich nur den Status ab.

Ian Styx am |

HALLLOOOOOOO... ? OOOH

PHP 8 mail() ist abgeschaltet bzw verweist ins Nirwana! Die sollen das gefälligst selbst mal ausprobieren! Das ist doch wirklich kein Zustand.
Und hattest du nicht gesagt es würde mit PHP 7.4 auch nicht klappem...?