Ich möchte nicht PHP
Fehler anzuzeigen/html, aber ich möchte sie in /html/beta/usercomponent
angezeigt werden. Alles ist so eingerichtet, dass Fehler überhaupt nicht angezeigt werden. Wie kann ich Fehler bekommen, nur in diesem einen Ordner (und seinen Unterordnern) angezeigt zu werden?Wie kann ich PHP-Fehler Anzeige nur auf einem Unterordner
Antwort
In .htaccess
:
php_value error_reporting 2147483647
Diese Zahl, die Dokumentation nach sollten ‚alle‘ Fehler unabhängig von Version aktivieren, wenn Sie eine detailliertere Einstellung möchten, manuell oder die Werte zusammen, oder führen
php -r 'echo E_ALL | E_STRICT ;'
um PHP den Wert für Sie berechnen zu lassen.
Sie benötigen
AllowOverride All
in apaches Master-Konfiguration .htaccess-Dateien zu ermöglichen.
Mehr Lesen dazu finden Sie hier:
- Php/Error Reporting Flag statt mod_php
- Php/Error Reporting values
- Php/Different Ways of Tuning Settings
Hinweis Wenn Sie mit PHP-CGI , das funktioniert möglicherweise nicht wie angekündigt, und alle bekommen Sie ist ein interner Serverfehler, und Sie werden als andere, ohne viel Option gelassen werden entweder standortweit auf einer Pro-Skript Basis ermöglicht, mit
error_reporting(E_ALL | E_STRICT);
oder ähnliche Konstrukte vor dem Fehler tritt ein.
Mein Rat ist zu deaktivieren Anzeige von Fehlern für den Benutzer, und verwenden stark php error_log-Funktion.
display_errors = 0
error_logging = E_ALL | E_STRICT
error_log = /var/log/php
Wenn Sie Probleme mit dieser zu laut zu sein, ist dies nicht ein Zeichen ist, müssen Sie nur Fehler nehmen selektiv Berichterstattung ab, ist dies ein Zeichen sollte jemand den Code beheben.
@Roger
Ja, Sie es in einem <
Konstrukt in apaches Konfiguration verwenden, jedoch ist die .htaccess in diesem Fall äquivalent, und macht es mehr tragbar, besonders wenn Sie haben mehrere funktionierende Checkout-Kopien derselben Codebasis und möchten diese Änderung an alle verteilen. Verzeichnis>
Wenn Sie mehrere virtuelle Hosts haben, werden Sie das Konstrukt in den jeweiligen virtuellen Hosts Definition wünschen, andernfalls ja
<Directory /path/to/wherever/on/filesystem>
<IfModule mod_php5.c>
php_value error_reporting 214748364
</IfModule>
</Directory>
Das Zusatz „IfModule“ Befehle mit nur ein Sicherheitsnetz so das oben beschriebene Problem sind Apache sterben, wenn Sie nicht mod_php nicht auftreten.
Hey, tut mir leid, ich gewöhne mich nur an dieses System. Ich versuche es in der httpd.conf-Datei zu tun, wenn möglich. Wäre das aussehen wie
Wenn jemand anders nach PHP-CGI-Fehlern suchen möchte, können Sie jetzt (ab PHP 5.3) per-.user.user.ini-Dateien verwenden, die sehr ähnlich wie htaccess-Dateien arbeiten .Anstatt "php_flag display_errors on" zu schreiben, wird "display_errors = on" angezeigt. Weitere Informationen finden Sie hier: http://php.net/manual/en/configuration.file.per-user.php – PaulSkinner
Beachten Sie auch, wie es in den Kommentaren dieser Seite heißt: "Die Änderungen können eine Weile dauern, bis sie an alle weitergegeben werden Prozesse, wenn Sie eine lange Prozesszeit haben. " also sei geduldig. – PaulSkinner
Ich glaube nicht, dass es eine einfache Antwort auf diese
, aber ich möchte sicherlich falsch bewiesen werden.
edit: stellt sich heraus, dass dies von .htaccess-Dateien gesteuert werden kann. Danke Leute! :)
Sie können error_reporting() http://docs.php.net/manual/en/function.error-reporting.php verwenden, um die Einstellung für ein Skript jedoch nach Skript zu wechseln. Wenn Sie ein einzelnes Skript haben, das jedes Mal bei/html/beta/usercomponent enthalten ist, wird dies den Trick machen.
Der einfachste Weg wäre, die Fehlerberichte aus einer .htaccess-Datei zu steuern. Dies setzt jedoch voraus, dass Sie Apache verwenden und die Skripte in/html/beta/usercomponent von diesem Verzeichnis aus aufgerufen werden und nicht von woanders enthalten sind.
.htacess
php_value error_reporting [int]
Sie den ganzzahligen Wert sich aus der Liste zusammenstellen müssen, wie in der Dokumentation error_reporting beschrieben, da die Konstanten wie E_ERROR nicht definiert sind, wenn Apache die .htaccess interpretiert.
Es ist ein einfaches bitweises Flag, also wäre ein Wert von 12 beispielsweise E_WARNING + E_PARSE + E_NOTICE.
können Sie dies tun, indem Sie eine Umgebungsvariable verwenden. Auf diese Weise können Sie mehr Möglichkeiten haben, als nur die Fehlerberichterstattung für ein spezielles Verzeichnis zu aktivieren oder zu deaktivieren. In Ihrem Code, wo immer Sie ein Verhalten für eine bestimmte Gruppe von Directoris ändern oder Modi ausführen möchten, prüfen Sie, ob eine Umgebungsvariable gesetzt ist oder nicht. wie folgt aus:
if ($_ENV['MY_PHP_APP_MODE'] == 'devel') {
// show errors and debugging info
} elseif ($_ENV['MY_PHP_APP_MODE'] == 'production') {
// show some cool message to the user so he won't freak out
// log the errors and send email to the admin
}
und wenn Sie Ihre Anwendung in der Entwicklungsumgebung ausgeführt wird, können Sie eine Umgebungsvariable in der .htaccess-Datei wie folgt festgelegt:
setenv MY_PHP_APP_MODE devel
oder wenn Sie in der Produktion evn sind :
setenv MY_PHP_APP_MODE production
die gleiche Technik gilt für Ihre Situation. In Verzeichnissen, in denen Sie etwas Spezielles tun möchten (aktivieren Sie die Fehlerberichterstattung), legen Sie eine env-Variable fest, und prüfen Sie in Ihrem Code nach.
- 1. PHP - Anzeige Ordner und Unterordner nur in einer bestimmten Tiefe
- 2. Wie bekomme ich nur die Unterordner meines CWD in Python
- 3. Kann ich Tomcat mit einer Willkommensdatei in einem Unterordner einrichten?
- 4. Nur Unterordner in C# auflisten?
- 5. Wie hostet ich ASP.NET MVC-Site in einem Unterordner
- 6. Wie kann ich einen Unterordner zur Indexdatei in diesem Unterordner umleiten?
- 7. Wie kopiere ich einen Unterordner mit xcopy in einen Unterordner?
- 8. Anzeige Popup nur auf ausgewähltem Element
- 9. MPAndroidChart LineChart Anzeige nur auf LineData
- 10. Wie vermeidet man svn: mergeinfos auf Unterordner?
- 11. Git Submodul zu einem Unterordner
- 12. ProgressBar Anzeige nur Ende
- 13. CollabNet Subversion - Beschränkte Benutzerzugriff auf Unterordner in einem Repository
- 14. Wie kann ich verhindern, dass die Anzeige auf einem iOS-Gerät ein- und ausgeschaltet wird?
- 15. Wie kann ich ein ResourceDictionary, das in einem Unterordner definiert ist, zu App.xaml hinzufügen?
- 16. Wie erstelle ich einen Unterordner auf der Seite?
- 17. Wie kann ich nur ein Teilrechteck von einem CALayer erhalten?
- 18. Wie kann ich nur Bild mit Universal-Image-Loader herunterladen
- 19. Größe der Unterordner nur mit Batch-Befehl
- 20. SQL-Joins Anzeige nur mal
- 21. Wie transformiere ich Unterordner Anfrage an Params
- 22. Wie finde ich alle Unterordner eines Ordners?
- 23. Wie kann ich einen PDF-Vollbildschirm auf einem iPad anzeigen?
- 24. Wie kann ich nur ein Element in einem Container zentrieren?
- 25. Wie kann ich nur einige Felder mit einem Bindestrich verketten?
- 26. Wie kann ich nur eine Dezimalstelle in einem Textfeld zulassen?
- 27. Wie kann ich nur 'interessante' Wörter aus einem Korpus finden?
- 28. Unterordner mit einem Java-Überwachungsdienst überwachen
- 29. Nur-Anzeige-Zeichensubstitution in VIM
- 30. Anzeige nur am nächsten Listenelement
Wenn alles andere fehlschlägt, 'set_error_handler (" var_dump ");'. Bei Syntaxfehlern im Aufrufskript muss vorher alles über php.ini/.htaccess/.user.ini konfiguriert werden. – mario