500 Fehler beim Aktualisieren der Plugin-Option

Ich versuche ein seltsames Problem zu beheben, das auf einem der Benutzer meines Plugins auftritt. Das Problem: Wenn ich das Einstellungsformular meines Plugins abschicke (option-general.php? Page = pluginname), erhalte ich eine 500 Fehlermeldung. Andere Einstellungsseiten funktionieren gut, nur diese.

Ich konnte den Fehler nicht reproduzieren, wenn ich einfach mein Plugin auf eine neue WordPress-Kopie verwende. Ich habe eine lokale Kopie seiner WordPress-database + Thema und Plugins und jetzt tritt das Problem auf. Ich deaktiviere alle seine Plugins (36!) Und wechsle zurück zum Standard Twenty Fifteen Theme. Das Problem bleibt bestehen.

In Apache Fehler Log-Datei sagt mir Folgendes:

"fastcgi: incomplete headers (0 bytes) received from server" 

Also habe ich meinen PHP-Modus von “CGI” in “Module” geändert.

Und jetzt, es funktioniert einwandfrei, das Problem ist verschwunden.

Ich habe dann wieder zu CGI gewechselt, und … Es funktioniert immer noch.

Was kann hier passiert sein? Ich bin besorgt, nicht zu verstehen, was die Ursache ist, da dieses Plugin von mir Open Source ist und in vielen verschiedenen Setups laufen wird.

Solutions Collecting From Web of "500 Fehler beim Aktualisieren der Plugin-Option"

500 Fehler können viele Ursachen haben. Im Zusammenhang mit dem mod_security von Formularen sind sie aufgrund von Sicherheitseinstellungen, typischerweise mod_security , mod_security . Es hat tendenziell strenge Regeln für Formulareinreichungen / POST-Anfragen.

Es gibt nicht viel, was Sie wirklich tun können. Bei einem Host in der Vergangenheit musste ich Support fragen, um einige mod_security Regeln zu deaktivieren, da ich nicht einmal einige meiner WordPress-Posts speichern konnte.

Es stellt sich schließlich heraus, dass es sich um einen Fehler handelt: Eine meiner Plugin-Optionen ist ein Textfeld, in dem der Benutzer eine Nachricht angeben kann. Es ist mit einem Standardwert versehen, aber dieser Benutzer hat sich entschieden, keine Nachricht zu haben, also wurde er geleert. Es sah im Backend gut aus (Feld sah leer aus), aber als ich in die database schaute, war es zu Zillionen und Zillionen von “\” Zeichen geworden! Dies verursachte ein Speicherprotokollproblem.

Ich fühle mich dumm, wenn ich vergessen habe, den Input zu säubern. Ich habe es geflickt.