PHP zeigt keine Fehler an, obwohl display_errors = On ist
Ich habe einen Ubuntu server mit Apache2 mit PHP 5. In der php.ini ich error_reporting = E_ALL | E_STRICT
und error_reporting = E_ALL | E_STRICT
, aber PHP ist noch nicht anzeigen von Fehlermeldungen. Ich bin auch mit Apache virtual hosts.
Auch, was die strenge error reporting PHP5.3 zu bieten hat? Ich will, dass mein code als up-to-date und zukunftssicher wie möglich.
Kommentar zu dem Problem - Öffnen
welche Datei Sie Bearbeiten damit dies geschehen kann!
Stellen Sie sicher, überprüfen Sie die
error_log
- Datei, die meisten Fehler sind dort aufgezeichnet. InformationsquelleAutor der Frage wowpatrick | 2011-06-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie auch sicherstellen, dass Sie Ihre
php.ini
- Datei enthalten Sie den folgenden Satz oder Fehler wird nur gehen, um das Protokoll festgelegt ist, standardmäßig angegeben oder in die virtual-host-Konfiguration.Den
php.ini
- Datei ist, wo werden die Grundeinstellungen für alle PHP auf Ihrem server, jedoch können diese einfach überschrieben und verändert beliebigen Stelle in den PHP-code und Wirkung alles, was folgt, ändern. Eine gute Kontrolle ist die Beurteilung derdisplay_errors
Richtlinie, um Ihrephp.ini
- Datei. Wenn Sie nicht sehen, ein Fehler, aber man ist eingeloggt, legen Sie dies am Anfang der Datei den Fehler verursacht:Wenn das funktioniert, dann ist etwas weiter oben in deinem code ist das deaktivieren der Fehleranzeige.
InformationsquelleAutor der Antwort Ray
Ich hatte das gleiche Problem und schließlich gelöst. Mein Fehler war, dass ich versuchte, zu ändern /etc/php5/cli/php.ini, aber dann fand ich eine andere php.ini hier: /etc/php5/apache2/php.ini, geändert, display_errors = On, neu gestartet, die web-server-und es funktionierte!
Sein mag, es wäre hilfreich für jemanden, der zerstreut wie ich.
InformationsquelleAutor der Antwort vk23
Ich hatte das gleiche problem auf meinem virtuellen server mit Parallels Plesk Panel 10.4.4. Die Lösung war (danke an Zappa für die Idee) - Einstellung error_reporting Wert 32767 statt E_ALL.
In Plesk:
Home > Abos > (Domäne Auswählen) > Anpassen > PHP-Einstellungen > error_reporting - Geben Sie benutzerdefinierten Wert - 32767
InformationsquelleAutor der Antwort Bartek Kosa
Obwohl dies ist ein Alter Beitrag...
ich hatte ähnliche situation, gab mir Kopfschmerzen.
Schließlich dachte ich, ich war auch sub-Seiten in index.php mit "@..."
"@" blendet alle Fehler, auch wenn display_errors ist AUF
InformationsquelleAutor der Antwort Tomek
Beim aktualisieren der Konfiguration in der php.ini-Datei, müssen Sie möglicherweise starten Sie apache neu. Versuchen Sie
apachectl restart
oderapache2ctl restart
oder sowas.Auch, Sie in eine ini-Datei, stellen Sie sicher, Sie haben
display_errors = on
, aber nur in einer Entwicklungsumgebung, nie in einer Produktionsmaschine.Auch die strengsten error reporting ist genau das, was Sie zitiert haben,
E_ALL | E_STRICT
. Weitere Informationen finden Sie auf der fehlerstufen bei die php-docs.InformationsquelleAutor der Antwort
Überprüfen Sie die
error_reporting
Flagge, mussE_ALL
, aber in einigen release von Plesk gibt es Zitate ("E_ALL"
) statt (E_ALL
)Ich dieses Problem gelöst löschen der Zitate (
"
) inphp.ini
:
:
InformationsquelleAutor der Antwort fremsoft
Ich hatte das gleiche problem aber ich habe
ini_set('display_errors', '1');
im inneren des fehlerhaften Skript selbst, so wird es nie feuert auf fatal /syntax-Fehler. Schließlich, ich löste es durch hinzufügen dieser zu meinem .htaccess:display_errors.php:
Durch, dass ich nicht gezwungen war zu ändern, die
php.ini
verwenden Sie es für bestimmte Unterordner und könnte leicht deaktivieren Sie es wieder.InformationsquelleAutor der Antwort mgutt
Ich weiß, dieser thread ist alt, aber ich löste ein ähnliches problem mit meinem Ubuntu-server und dachte, ich würde eine Notiz hinzuzufügen, hier, um anderen zu helfen, da dieser thread war die erste Seite in Google für das Thema PHP nicht anzeigen von Fehlern.
Ich habe versucht, mehrere Konfigurations-Einstellungen für das error_reporting-Wert in php.ini. Von E_ALL | E_STRICT zu E_ALL & E_NOTICE und keiner arbeitete. Ich war nicht immer irgendwelche syntax-Fehler im browser angezeigt (das ist ziemlich ärgerlich auf einem Entwicklungs-server). Nach dem ändern der error_reporting-Einstellung auf "E_ALL" es begann alles funktioniert. Nicht sicher, ob es ein Ubuntu Oneric spezifischen Problem, aber nach einem Neustart von Apache Fehler begann anzeigen in HTML-Seiten, die der server bedient. Scheint die zusätzlichen Optionen, die verwirrende Dinge und error reporting hält. HTH somone sonst.
InformationsquelleAutor der Antwort Zappa
Ich gerade erlebt habe das gleiche problem und es stellte sich heraus, dass mein problem war nicht im php.ini-Dateien, sondern einfach, dass ich starten Sie den apache server als normaler Benutzer. Sobald ich habe ein "sudo /etc/init.d/apache2 restart", meine Fehler gezeigt wurden.
InformationsquelleAutor der Antwort PhlegmaticFraggle
Stellen Sie sicher, dass die php.ini, die Sie gerade Bearbeiten, auf der /etc/php5/apache2 Ordner, oder sonst nicht aus...
InformationsquelleAutor der Antwort Johnz
Möchte nur hinzufügen ein anderes Problem hier im Fall, dass sich jemand findet, der diese Frage mit einem problem ähnlich wie mir.
Wenn Sie mit Chrome (Oder Chromium) und PHP löst einen Fehler im PHP-code befindet sich im inneren einer HTML-Attribut dann Chrome entfernt die gesamte HTML-element, so dass Sie nicht sehen können, die PHP-Fehler in Ihrem browser.
Hier ist ein Beispiel:
Beim aufrufen dieser code in Chrome bekommen Sie nur einen HTML-Dokuments mit der Start -
<p>
tag. Der rest fehlt. Keine Fehlermeldung und kein anderer HTML-code nach diesem<p>
. Dies ist nicht ein PHP-Problem. Wenn Sie diese Seite öffnen in Firefox, dann sehen Sie die Fehlermeldung (Beim anzeigen der HTML-code). Also das ist ein Chrome-Problem.Weiß nicht, ob es wird ein Problem irgendwo. Wenn dies bei Ihnen der Fall, dann müssen Sie testen Sie die Seite in Firefox oder überprüfen Sie die Apache-error-log.
InformationsquelleAutor der Antwort kayahr
Ich hatte das gleiche problem mit Apache und PHP 5.5.
In
php.ini
hatte ich die folgenden Zeilen:anstelle der folgenden:
(die
=
Zeichen fehlte)InformationsquelleAutor der Antwort hiszpan
Obwohl dieser thread ist alt, aber trotzdem habe ich das Gefühl, ich sollte post eine gute Antwort aus diese stackoverflow-Antwort.
Dieses wissen hat mich gerettet, nach Stunden zu versuchen, um die Dinge zu arbeiten. Ich hoffe, das jemand hilft.
InformationsquelleAutor der Antwort mikaelovi
Beim ausführen von PHP auf windows mit der ISS gibt es einige Konfigurations-Einstellungen in der ISS, die eingestellt werden müssen, um zu verhindern, dass generische Standard-Seiten angezeigt wird.
1) Doppelklicken Sie auf FastCGISettings, klicken Sie auf PHP dann Bearbeiten. Set StandardErrorMode zu ReturnStdErrLn500.
StandardErrorMode
2) Gehen Sie der Website einen Doppelklick auf den Fehler-Seiten, klicken Sie auf die 500-status, klicken Sie auf Feature Bearbeiten-Einstellungen Ändern-Fehlermeldung Antworten auf Detaillierte Fehler, klicken Sie auf ok,
Ändern Fehler Antworten auf Detaillierte Fehler
InformationsquelleAutor der Antwort naw103
Dem ich begegnet bin, auch das problem. Endlich habe ich die Lösung gefunden. Ich bin mit UBUNTU 16.04 LTS.
1) Öffnen Sie die
/ect/php/7.0/apache2/php.ini
- Datei (unter der/etc/php
man hätte andere version von PHP aberapache2/php.ini
wird unter der version-Datei), findenERROR HANDLING AND LOGGING
Abschnitt, und legen Sie den folgenden Wert{display_error = On, error_reporting = E_ALL}
.HINWEIS - Unter der
QUICK REFERENCE
Abschnitt auch kann man diese Werte sind Richtlinien, aber nicht ändern, es nur ändern in Abschnitt sagte ich.2) Starten Sie Apache server
sudo systemctl restart apache2
InformationsquelleAutor der Antwort kn_snipper