Ich betreibe derzeit eine Site auf PHP 5.4, vorher habe ich meine Site auf 5.3.8 ausgeführt. Leider kombiniert PHP 5.4 E_ALL
und E_STRICT
, was bedeutet, dass meine vorherige Einstellung für error_reporting
jetzt nicht funktioniert. Mein vorheriger Wert war E_ALL & ~E_NOTICE & ~E_STRICT
Sollte ich nur Werte einzeln aktivieren?
Ich habe viel zu viele Fehler und die Dateien enthalten zu viel Code, als dass ich ihn beheben könnte.
php
error-handling
icomrade
quelle
quelle
Antworten:
Wie die Kommentatoren angegeben haben, besteht die beste Option darin, die Fehler zu beheben, aber mit begrenzter Zeit oder begrenzten Kenntnissen ist dies nicht immer möglich. In Ihrer php.ini ändern
zu
Wenn Sie keinen Zugriff auf die php.ini haben, können Sie dies möglicherweise in Ihre .htaccess-Datei einfügen:
Dies ist der E_ALL-Wert (32767) und das Entfernen der Werte E_STRICT (2048) und E_NOTICE (8).
Wenn Sie keinen Zugriff auf die .htaccess-Datei haben oder diese nicht aktiviert ist, müssen Sie diese wahrscheinlich oben im PHP-Abschnitt eines Skripts einfügen, das von einem Browseraufruf geladen wird:
Eine davon soll Ihnen helfen, die Software zu verwenden. Die Hinweise und strengen Informationen sind jedoch Indikatoren für Probleme oder potenzielle Probleme, und Sie können feststellen, dass ein Teil des Codes in PHP 5.4 nicht richtig funktioniert.
quelle
.htaccess php_value funktioniert nur, wenn Sie die PHP Server API als Modul des Webservers Apache verwenden. Verwenden Sie die IfModule-Syntax:
Wenn Sie PHP Server API CGI / FastCGI verwenden, verwenden Sie
oder
in Ihrem PHP-Code oder in den PHP-Konfigurationsdateien .user.ini | php.ini Modifikation:
auf Ihrem virtuellen Host auf Serverebene.
quelle
Es hat bei mir funktioniert, als ich error_reporting an zwei Stellen gleichzeitig
irgendwo im PHP-Code gesetzt habe
und in der .htaccess-Datei
quelle
Wenn Sie auch E_DEPRACATED deaktivieren müssen, verwenden Sie:
In meinem Fall beschwerte sich CMS Made Simple über "E_STRICT ist in der Fehlerberichterstattung aktiviert" sowie "E_DEPRECATED ist aktiviert". Durch Hinzufügen dieser einen Zeile zu .htaccess wurden beide Fehlkonfigurationen behoben.
quelle
Kopf hoch, möglicherweise müssen Sie LAMP, Apache oder was auch immer Sie verwenden neu starten, damit dies wirksam wird. Wir haben uns eine Weile den Kopf zerbrochen und schienen keine Auswirkungen zu haben, bis die Dienste neu gestartet wurden, vermutlich weil die Website zwischengespeichert wurde.
quelle