[php] Geen error reporting (wel aangezet)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Ik heb een vreemd probleem. Namelijk dat de hele error reporting niet werkt :S
Voorbeeldje:
PHP:
1
2
3
error_reporting(E_ALL);
ini_set('display_errors', 1);
echo "Bla";
Laat netjes bla zien. Maak ik expres een syntactische fout zie ik helemaal _niets_:
PHP:
1
2
3
error_reporting(E_ALL);
ini_set('display_errors', 1);
echo "Bla".
Hij zou dus wat aan html moeten retourneren, namelijk dat php iets na die . verwacht. De bron (Beeld->Paginabron in Fx2.0) geeft echter niets aan (er staat helemaal niets in, bestand lijkt helemaal leeg). Als ik het bestand opsla, is het wel 39 bytes groot, van het mime type text/html en is de inhoud volgens een teksteditor:
code:
1
<html><head></head><body></body></html>

Het veranderen van error_reporting(E_ALL) naar ini_set('error_reporting', E_ALL) heeft geen beter resultaat gegeven.

Voor meer informatie: dit is mijn phpinfo en hier is het "lege" bestand te vinden (dus het tweede voorbeeld met php code). Mijn php scripts worden gehost (bij web://xtra). Ligt het hieraan, of iets aan mijn eigen instellingen? Het is namelijk erg lastig debuggen zo :/

Acties:
  • 0 Henk 'm!

Verwijderd

Zie: http://www.php.net/manual/en/ref.errorfunc.php


display_errors boolean

This determines whether errors should be printed to the screen as part of the output or if they should be hidden from the user.

Note: This is a feature to support your development and should never be used on production systems (e.g. systems connected to the internet).

Note: Although display_errors may be set at runtime (with ini_set()), it won't have any affect if the script has fatal errors. This is because the desired runtime action does not get executed.


Een parse error is een fatal error.

[ Voor 0% gewijzigd door Verwijderd op 18-01-2007 15:05 . Reden: link aangepast ]


Acties:
  • 0 Henk 'm!

  • Rowdy.nl
  • Registratie: Juni 2003
  • Laatst online: 18-09 14:48

Rowdy.nl

Koekje d'r bij?

Verwijderd schreef op donderdag 18 januari 2007 @ 15:03:
Zie: http://nl3.php.net/manual/en/ref.errorfunc.php


display_errors boolean

This determines whether errors should be printed to the screen as part of the output or if they should be hidden from the user.

Note: This is a feature to support your development and should never be used on production systems (e.g. systems connected to the internet).

Note: Although display_errors may be set at runtime (with ini_set()), it won't have any affect if the script has fatal errors. This is because the desired runtime action does not get executed.


Een parse error is een fatal error.
Dan zou hij nog iets moeten zien (in dit geval de fatal error) en niet helemaal niets... :)

Een warning zou je kunnen laten zien door een bewerking op een ongeinitieerde waarde te doen...
PHP:
1
2
3
4
<?php
$var++;
print $var;
?>

[ Voor 26% gewijzigd door Rowdy.nl op 18-01-2007 15:13 ]

Rowdy.nl - X++ by day. C# by night. I drink coffee in the morning and beer in the evening.


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Dus display_errors heeft geen zin...

Ik heb net bedacht dat het misschien met .htaccess kan. Dit heb ik gevonden, dus ga ik nu maar even uitproberen :)
Rowdy.nl schreef op donderdag 18 januari 2007 @ 15:07:
[...]

Dan zou hij nog iets moeten zien (in dit geval de fatal error) en niet helemaal niets... :)

Een warning zou je kunnen laten zien door een bewerking op een ongeinitieerde waarde te doen...
PHP:
1
2
3
4
<?php
$var++;
print $var;
?>
Daar heb je gelijk in. Ik dat ook maar gelijk even testen ;)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

mithras schreef op donderdag 18 januari 2007 @ 15:10:
[...]
Dus display_errors heeft geen zin...
Jawel, er staat dat het geen zin heeft om dit at runtime te doen met ini_set(). ;) In php.ini kun je dit prima aanpassen, en anders inderdaad met .htaccess. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Rowdy.nl
  • Registratie: Juni 2003
  • Laatst online: 18-09 14:48

Rowdy.nl

Koekje d'r bij?

Die functie retourneerd trouwens de oude setting. Wat krijg je als je dit uit probeert te voeren? Misschien mag je die setting wel helemaal niet veranderen?
PHP:
1
2
3
4
5
6
7
8
9
<?php
print error_reporting(E_ALL);

$ini_set = ini_set('display_errors', E_ALL);
if($ini_set)
  print "ini set succesfull, old value: ".$ini_set;
else
  print "ini_set failed... :(";
?>

Rowdy.nl - X++ by day. C# by night. I drink coffee in the morning and beer in the evening.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Rowdy.nl schreef op donderdag 18 januari 2007 @ 15:13:
Die functie retourneerd trouwens de oude setting. Wat krijg je als je dit uit probeert te voeren? Misschien mag je die setting wel helemaal niet veranderen?
PHP:
1
2
3
4
5
6
7
8
9
<?php
print error_reporting(E_ALL);

$ini_set = ini_set('display_errors', E_ALL);
if($ini_set)
  print "ini set succesfull, old value: ".$ini_set;
else
  print "ini_set failed... :(";
?>
offtopic:
Als ini_set de oude setting returnt, hoe kun je dan diezelfde variabele gebruiken om te bepalen of de functie succes had of niet? ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
-NMe- schreef op donderdag 18 januari 2007 @ 15:12:
[...]

Jawel, er staat dat het geen zin heeft om dit at runtime te doen met ini_set(). ;) In php.ini kun je dit prima aanpassen, en anders inderdaad met .htaccess. :)
:/ Ik mag een hele harde schop hebben.
code:
1
2
php_flag display_errors on
php_value error_reporting 7
als .htaccess deed inderdaad alles. Sorry, en bedankt allemaal :>


/edit: ^^ error_reporting kan geen false returnen. Of wordt een 0 (error_reporting off) ook als false gezien bij een comparison?

[ Voor 13% gewijzigd door mithras op 18-01-2007 15:18 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

mithras schreef op donderdag 18 januari 2007 @ 15:16:
/edit: ^^ error_reporting kan geen false returnen. Of wordt een 0 (error_reporting off) ook als false gezien bij een comparison?
Ja. :P

Dat kun je overigens ook nalezen op deze en deze pagina's in de online manual. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Rowdy.nl
  • Registratie: Juni 2003
  • Laatst online: 18-09 14:48

Rowdy.nl

Koekje d'r bij?

-NMe- schreef op donderdag 18 januari 2007 @ 15:15:
[...]

offtopic:
Als ini_set de oude setting returnt, hoe kun je dan diezelfde variabele gebruiken om te bepalen of de functie succes had of niet? ;)
Als het niet lukt retourneerd ini_set false... ;)
string ini_set ( string varname, string newvalue )

Sets the value of the given configuration option. Returns the old value on success, FALSE on failure. The configuration option will keep this new value during the script's execution, and will be restored at the script's ending.

Rowdy.nl - X++ by day. C# by night. I drink coffee in the morning and beer in the evening.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Weet ik, maar ik reageerde op je eerste zin:
Rowdy.nl schreef op donderdag 18 januari 2007 @ 15:13:
Die functie retourneerd trouwens de oude setting.
:)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Wolf87
  • Registratie: Juli 2004
  • Laatst online: 15:47
Zit je op de siteworx server van webxtra?

Deze werkt met het hele mooie interworx control-panel waar onder Logs een hele mooi error log te vinden is.

Had hetzelfde probleem tot ik erachter kwam dat alle error's automatisch naar de errorlog worden doorgeschoven zodat de user ze nooit te zien krijgt ;)

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Wolf87 schreef op donderdag 18 januari 2007 @ 20:15:
Zit je op de siteworx server van webxtra?

Deze werkt met het hele mooie interworx control-panel waar onder Logs een hele mooi error log te vinden is.

Had hetzelfde probleem tot ik erachter kwam dat alle error's automatisch naar de errorlog worden doorgeschoven zodat de user ze nooit te zien krijgt ;)
Dat zie ik ook nu pas ja! Ik heb nu dus in mn root directory (waar ook html map in staat) die .htaccess geplaatst, en dan kan je met error_reporting spelen. Dat heb ik dus nu maar gedaan, want elke keer die log bekijken wanneer je aan het ontwikkelen bent is ook zo lastig.
Maar voor vreemde errors op mn gewone homepage is dit wel een goede check ja!

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Waarom ontwikkel je niet gewoon op je eigen pc? :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
-NMe- schreef op donderdag 18 januari 2007 @ 22:29:
Waarom ontwikkel je niet gewoon op je eigen pc? :)
Tja, weet ik eigenlijk niet :+ Moet ik weer apt-get apache2 php4 doen, is zoveel werk :p
Serieus, ik weet het niet. Ik heb gewoon mijn eigen site (http://juriansluiman.nl). Deze draait op een zelfgeschreven cms, waar ik druk mee bezig ben. Het testen gebeurt dan op de zogenaamde staging omgeving (http://stage.juriansluiman.nl). Ik vind het wel makkelijk; ik heb thuis wel een P133 staan die kan serveren, maar dan vind ik een dikke servert ergens in een serverpark net zo makkelijk. Natuurlijk kan ik zelf (eigen pc) apache, php en mysql draaien. Misschien wel veiliger, maar dit is eerder met een soort gemak zo gegroeid :)

Acties:
  • 0 Henk 'm!

  • Rowdy.nl
  • Registratie: Juni 2003
  • Laatst online: 18-09 14:48

Rowdy.nl

Koekje d'r bij?

-NMe- schreef op donderdag 18 januari 2007 @ 17:06:
Weet ik, maar ik reageerde op je eerste zin:

[...]

:)
Ow... :| ;)
mithras schreef op donderdag 18 januari 2007 @ 22:36:
[...]
Tja, weet ik eigenlijk niet :+ Moet ik weer apt-get apache2 php4 doen, is zoveel werk :p
Serieus, ik weet het niet. Ik heb gewoon mijn eigen site (http://juriansluiman.nl). Deze draait op een zelfgeschreven cms, waar ik druk mee bezig ben. Het testen gebeurt dan op de zogenaamde staging omgeving (http://stage.juriansluiman.nl). Ik vind het wel makkelijk; ik heb thuis wel een P133 staan die kan serveren, maar dan vind ik een dikke servert ergens in een serverpark net zo makkelijk. Natuurlijk kan ik zelf (eigen pc) apache, php en mysql draaien. Misschien wel veiliger, maar dit is eerder met een soort gemak zo gegroeid :)
Probleem is dat je instellingen nooit helemaal hetzelde staan als die van je hoster, en dat je meestal ook niet dezelfde versies van de software/patches hebt geïnstalleerd als je provider. Ik heb op mijn server thuis heel veel andere zaken extra geïnstalleerd staan dan mijn provider. Bijvoorbeeld sommige functies in php voor exif en mime werken niet bij mijn provider... :'(

Ik werk dus hetzelfde als jij, maar gelukkig laat mijn provider wel de errors zien... ;)

Rowdy.nl - X++ by day. C# by night. I drink coffee in the morning and beer in the evening.


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Dat zou voor mij _juist_ een reden zijn (hoewel ik wel met exif en calendar support zit). Het is namelijk een stukje opensource software. Het is dus ook de bedoeling dat dit verspreid gaat worden; mensen die een simpel, klein en veilig cms willen draaien zullen dit kunnen gebruiken. Ik weet niet welke php instellingen allemaal zijn meegenomen bij die gebruikers, dus moet het systeem op zichzelf kunnen draaien (en heb ik bijv. een eigen exif library moeten gebruiken).

Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 16-09 13:49

Patriot

Fulltime #whatpulsert

Rowdy.nl schreef op donderdag 18 januari 2007 @ 16:29:
[...]

Als het niet lukt retourneerd ini_set false... ;)


[...]
Tot de oude value een keer 0 is. Het is netter om de === operator te gebruiken, en het is ook beter voor de mensen die iets proberen te leren van dit topic. Jij weet misschien dat het in dit geval niet hoeft omdat display errors geen 0 hoort te zijn, maar dat weten zij misschien niet.
Pagina: 1