php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.08.2011, 09:33  
Neuer Benutzer
 
Registriert seit: 13.05.2008
Beiträge: 13
PHP-Kenntnisse:
Fortgeschritten
schingeldi befindet sich auf einem aufstrebenden Ast
Standard Keine Apache error logs bei falchem Typ beim Type Hinting

Hi,

ich entwickle unter Ubuntu Linux mit PHP 5.3 und Apache2

ich nutze sehr oft das Type Hinting by Funktionsdeklarationen.

z.B.

PHP-Code:
public function setProfileProfile $profile ) {
      
$this->profile $profile;

Das Problem beim Type Hinting auf das ich stoße ist, dass falls ich mal nicht den korrekten Typ liefere, schmiert mir das Skript einfach ab, ohne aber eine Fehlermeldung in den Apache Logs zu erzeugen.
Natürlich ist mir bewusst, dass ich beim Type Hinting immer den korrekten Typ liefern muss. Aber wenn ich eben beim Entwickeln einen Fehler gemacht habe, ist die Fehlersuche ohne Log Ausgaben sehr mühsam.

Daher an Euch die Frage. Kennt Ihr das Problem? Lässt sich das irgendwie beheben, sprich eine Log Ausgabe erzwingen in solchen Fällen?

Vielen Dank für Eure Hilfe
schingeldi ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.08.2011, 10:32  
Erfahrener Benutzer
 
Registriert seit: 07.06.2009
Beiträge: 107
PHP-Kenntnisse:
Anfänger
roest befindet sich auf einem aufstrebenden Ast
roest eine Nachricht über ICQ schicken roest eine Nachricht über Skype™ schicken
Standard

In der php.ini
error_reporting = E_ALL & ~E_NOTICE
log_errors = On
error_log = "/var/logs/phperror.log"

gesetzt?

Ansonsten kann du auch den Typ überprüfen lassen und via trigger_error eine eigene Fehlermeldung loggen.

Gruß roest
__________________
May the Source be with you.
roest ist offline   Mit Zitat antworten
Alt 31.08.2011, 10:59  
Erfahrener Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 260
PHP-Kenntnisse:
Fortgeschritten
lcrash wird schon bald berühmt werden
Standard

Wenn's ein Produktivsystem ist sollten die Fehler aus sein. Ansonsten kann die Anwendung die Anzeige von Fehlermeldungen selbst steuern:
PHP-Code:
error_reporting(-1);
ini_set('display_errors'1); 
Was du auch scheinbar noch brauchst ist einen Fehlerbehandlung, die dir solche Fehler hübsch darstellt bzw. gar nicht darstellt aber trotzdem hübsch.
lcrash ist offline   Mit Zitat antworten
Alt 31.08.2011, 11:13  
Erfahrener Benutzer
 
Registriert seit: 07.06.2009
Beiträge: 107
PHP-Kenntnisse:
Anfänger
roest befindet sich auf einem aufstrebenden Ast
roest eine Nachricht über ICQ schicken roest eine Nachricht über Skype™ schicken
Standard

@lcrash die Darstellung der Errors (display_error) und das loggen eines Errors (log_errors) sind zwei verschiedene paar Schuhe.
Man kann die Fehler einer Seite durchaus in der error.log auf dem Server mitloggen ohne sie gleich dem User zu präsentieren.
__________________
May the Source be with you.
roest ist offline   Mit Zitat antworten
Alt 31.08.2011, 11:20  
Erfahrener Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 260
PHP-Kenntnisse:
Fortgeschritten
lcrash wird schon bald berühmt werden
Standard

Ja ok, es hätte „nicht sichtbar nach außen” heißen sollen.
lcrash ist offline   Mit Zitat antworten
Alt 31.08.2011, 14:02  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.631
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Code:
error_reporting = E_ALL & ~E_NOTICE
Ist Käse. Wenn dann E_ALL & E_STRICT.

Notices sind ebenfalls Fehler und sollten nicht unterdrückt sondern beseitigt werden.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 01.09.2011, 07:45  
Neuer Benutzer
 
Registriert seit: 13.05.2008
Beiträge: 13
PHP-Kenntnisse:
Fortgeschritten
schingeldi befindet sich auf einem aufstrebenden Ast
Standard

Hi,

besten Dank für die Antworten. Also nur kurz vorab. Das display_errors habe ich ausgestellt. Es geht mir nur um die Logs.

Obwohl ich das error_reporting ausgeschlossen habe, lag es wirklich daran. Habe es jetzt auf

E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED

gesetzt, da ich ein Framework nutze, welches leider Deprecated functions nutzt. Sonst läuft meine Logdatei über.

Also besten Dank für den Denkanstoss
schingeldi ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Windows + Apache + PHP + Imagick Chriz Tutorials 23 19.09.2011 16:15
Methode einer abgeleiteten Klasse um Type Hinting ergänzen Trainmaster Software-Design 34 12.07.2011 16:14
İnstallation von Propel unter Windows und Ohne PEAR sysr PHP Einsteiger 4 07.02.2011 10:56
Fehlerbehandlung beim Type Hinting in Kombination mit method chaining nuna PHP Tipps 2010 5 21.05.2010 18:04
[Erledigt] MySQL Link Resource in einer statischen Variablen speichern Lenki PHP-Fortgeschrittene 8 18.03.2010 16:37
[Erledigt] AF und Type Hinting nikosch Software-Design 4 12.12.2009 14:58
Fehler beim kompilieren von php 5.2.9 malio Server, Hosting und Workstations 11 05.06.2009 18:40
Wireshark SSL Handshake debugging-Handshake protokoll mittels PHP + Curl brian johnson Off-Topic Diskussionen 0 06.11.2008 11:54
Type Hinting - must be an instance of integer, integer given mAy^daY PHP Tipps 2007 1 06.03.2007 14:55
PHP 5 installation PHP Tipps 2005-2 6 16.06.2005 14:19
php Warnung nach Apache Update PHP Tipps 2005 2 07.02.2005 13:38
Problem mit Wasserzeichen auf Bildern pixelcut PHP-Fortgeschrittene 16 14.12.2004 02:36


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:06 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum