fehler im code werden nicht angezeigt

Alles, was PHP betrifft, kann hier besprochen werden.

fehler im code werden nicht angezeigt

Postby KALEL » 25. March 2007 13:18

Hallo

habe erst kürzlich von apache 2.0.46 php4 auf xampp1.6.0a upgedatet

wenn ich nun in einem php-script einen codefehler habe bricht das script ab ohne anzuzeigen warum.
vor dem update war das nicht der fall.

habe in der php.ini mal diese parameter geändert.
display_startup_errors = Off ;normal on
display_errors = Off ;normal on
error_reporting = E_ALL & ~E_NOTICE

was muss ich machen, dass die wieder angezeigt werden?
mfg
KALEL

xampp: 1.6.0a mit php 5.2.1 aber mysql 4
PHP-Anfänger :(
KALEL
 
Posts: 12
Joined: 25. March 2007 12:09

Postby Wiedmann » 25. March 2007 13:46

In der Standardeinstellung von PHP im XAMPP werden die Fehler angezeigt. Du musst nur noch das von dir gewünschte error_reporting einstellen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby KALEL » 25. March 2007 14:34

hatte schon verschiedene ausprobiert

@error_reporting(2048); #auch 7 und 2047

geht nicht.

wo muss der parameter hin? habe obigens in das script geschrieben.

wie erwähnt steht
error_reporting = E_ALL & ~E_NOTICE
in der php.ini
mfg
KALEL

xampp: 1.6.0a mit php 5.2.1 aber mysql 4
PHP-Anfänger :(
KALEL
 
Posts: 12
Joined: 25. March 2007 12:09

Postby KingCrunch » 25. March 2007 14:37

Code: Select all
display_startup_errors = Off ;normal on
display_errors = Off ;normal on
Das muss natürlich an.
Code: Select all
error_reporting = E_ALL
Das sollte es auch tun. E_NOTICE lass ich ma weg, weil das für Entwicklung und so ganz vorteilhaft ist
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby KALEL » 25. March 2007 14:48

ok
habe beide wieder auf on gesetzt und E_NOTICE entfernt.

klappt troztdem nicht.

ps: wann wird die php.ini gelesen? im mom starte ich den apache dienst neu. reicht das?
mfg
KALEL

xampp: 1.6.0a mit php 5.2.1 aber mysql 4
PHP-Anfänger :(
KALEL
 
Posts: 12
Joined: 25. March 2007 12:09

Postby KingCrunch » 25. March 2007 14:52

Vorrausgesetzt du hast a) die richtige ini bearbeitet (siehe phpinfo), b) das script hat wirklich ein Fehler und c) das Script fängt den Fehler nicht selbst ab oder unterdrückt selbst die Meldung, dann kommt da auch ne Meldung.

Zu c) Das script kann den error-level überschreiben oder Fehler explizit mit @ unterdrücken.
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby KALEL » 25. March 2007 16:30

a) war der entscheidende hinweis.
ich bin davon ausgegangen das die ini aus dem xampp verzeichnis benutzt wird. wird sie aber nicht sondern die ini aus dem progs\php (welches ich auch mal installiert hatte).

ich bekomme nun zumindest schon mal eine warung wenn ich getdate() benutze. (hab ich hinbekommen durch setzen von date.timezone).

aber wenn ich z.b. ein ; am zeilenende vergesse wird ohne fehleranzeige abgebrochen.
eigentlich hätte ich einen parse error erwartet.
mfg
KALEL

xampp: 1.6.0a mit php 5.2.1 aber mysql 4
PHP-Anfänger :(
KALEL
 
Posts: 12
Joined: 25. March 2007 12:09

Postby Wiedmann » 25. March 2007 16:40

ich bin davon ausgegangen das die ini aus dem xampp verzeichnis benutzt wird. wird sie aber nicht sondern die ini aus dem progs\php (welches ich auch mal installiert hatte).

Dann hast du dein altes PHP nicht richtig deinstalliert, und der XAMPP kann so nicht seine "php.ini" benutzen.

In welchem Verzeichnis ist der XAMPP denn bei dir installiert?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby KALEL » 25. March 2007 17:09

xampp liegt auf e:\apache\xampp
php5 auf h:\pros\php5

in den windows systemeinstellungen unter umgebungsvariablen gibt es den parameter PHPRC der auf h:\progs\php5 zeigt. reicht es den auf das php-verz zeigen zu lassen wo php vom xampp liegt?

habe jetzt erstmal die ini vom xampp/php dorthin kopiert, was ja scheinbar auch funktioniert, aber halt nicht schön ist. das ist mir aber erstmal zweitrangig.

wichtiger wäre mir, das ich wieder die parse-errors angezeigt bekomme.
wenn man mal einen etwas längeren code schreibt ist das ein mächtiger aufwand den fehler zu finden wenn man nicht weiss wo er aufgetreten ist.
mfg
KALEL

xampp: 1.6.0a mit php 5.2.1 aber mysql 4
PHP-Anfänger :(
KALEL
 
Posts: 12
Joined: 25. March 2007 12:09

Postby Wiedmann » 25. March 2007 17:24

xampp liegt auf e:\apache\xampp

OK.
Als erstes sorgst du dafür, dass die Datei "E:\apache\xampp\apache\bin\php.ini" wieder so ist, wie sie vor deinen Veränderungen war.

Dann öffnest du diese Datei mit einem Editor:
E:\apache\xampp\apache\conf\extra\httpd-xampp.conf

Da gibt es dann die Zeile:
Code: Select all
LoadModule php5_module "E:/apache/xampp/apache/bin/php5apache2.dll"


Direkt danach fügst du dann die Zeile ein:
Code: Select all
PHPIniDir "E:/apache/xampp/apache/bin"


Nach einem Apache-Neustart, sollte dir phpinfo() dann anzeigen, dass die korrekte "php.ini" benutzt wird.

in dieser "php.ini" kannst du dann die Zeile:
Code: Select all
error_reporting  =  E_ALL & ~E_NOTICE

ändern gegen:
Code: Select all
error_reporting  =  E_ALL
oder
error_reporting  =  E_ALL | E_STRICT


Das kannst du aber auch am Anfang deiner Scripte machen:
Code: Select all
error_reporting(E_ALL);
oder
error_reporting(E_ALL | E_STRICT);


Es ist natürlich noch eine gute Idee, dieses in die "php.ini" einzutragen:
Code: Select all
date.timezone = "Europe/Berlin"
Last edited by Wiedmann on 25. March 2007 18:27, edited 2 times in total.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby KALEL » 25. March 2007 18:08

HEUREKA

es klappt.

vielen, vielen dank für eure hilfe.
mfg
KALEL

xampp: 1.6.0a mit php 5.2.1 aber mysql 4
PHP-Anfänger :(
KALEL
 
Posts: 12
Joined: 25. March 2007 12:09


Return to PHP

Who is online

Users browsing this forum: No registered users and 6 guests