Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[php] Blank Page Of Death

Pagina: 1
Acties:

Onderwerpen


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22:12

alienfruit

the alien you never expected

Topicstarter
Ik ben na een tijd weer aan het klungelen in PHP alleen nu krijg ik de hele tijd witte pagina's in PHP. Ik snap alleen niet waarom. Normaal krijg je toch een mooi foutmelding als je de instelling Display_Error=On én error_level=-1 hebt? Of ben ik nu gek?

Erg vervelend. Weet iemand hoe ik gewoon een duidelijke foutmelding kan krijgen?

  • hiekikowan
  • Registratie: Februari 2011
  • Laatst online: 24-11 16:03
Dan lijkt er dus geen PHP-error te ontstaan... kan het zijn dat hij geen output geeft?

  • G70boX
  • Registratie: Juli 2004
  • Laatst online: 22:50
Is het niet 'display_errors'? De errors kunnen mogelijk ook gelogged worden ipv getoond: http://www.php.net/manual...on.php#ini.display-errors

[ Voor 3% gewijzigd door G70boX op 26-10-2011 10:40 ]


  • SjaakCobain
  • Registratie: Augustus 2004
  • Laatst online: 05-11 14:59
Misschien wordt er ergens iets aangeroepen wat een fout oplevert en een @ voorstaat, zodat de melding onderdrukt wordt.

Be kind to your knees, you’ll miss them when they’re gone.


  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Als er een compile error in het document staat waar je de display_errors en error_reporting aan heb gezet dan zie je die ook niet. Het document compiled immers niet.

Daarom is het altijd handig een soort bootstrap.php te hebben waar je de environment helemaal instelt (error reporting etc) en daarna je applicatie-files inlaadt.

Engineering is like Tetris. Succes disappears and errors accumulate.


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22:12

alienfruit

the alien you never expected

Topicstarter
Hmm ja, ik moet een extensie schrijven voor een bestaand CMS. Ik zal eens kijken wat ze precies uitspoken. Maar 'display_errors' op 'On' en error niveau op -1 zou toch alle fouten moeten laten zien of iet?

  • 418O2
  • Registratie: November 2001
  • Laatst online: 23:52
nee. Als je ergens een ; oid vergeet, dan gaattie gewoon dood. Zou je toch moeten weten.

Dus, blok voor blok uitcommentariseren en kijken waar het zit.

  • X_lawl_X
  • Registratie: September 2009
  • Laatst online: 18:52
418O2 schreef op woensdag 26 oktober 2011 @ 11:14:
nee. Als je ergens een ; oid vergeet, dan gaattie gewoon dood. Zou je toch moeten weten.

Dus, blok voor blok uitcommentariseren en kijken waar het zit.
Dan wordt er gewoon een syntax error gegeven hoor.

  • 418O2
  • Registratie: November 2001
  • Laatst online: 23:52
volgens mij gaat je pagina dan dood hoor. Er zijn iig manieren om een php pagina leeg te krijgen, zonder foutmeldingen oid, door syntaxfouten

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 24-11 15:02
In PHP5.3 staat output-buffering default aan. Fatal errors met met betrekking tot maximum execution time en memory limit worden niet goed geflushed, waardoor het scherm wit blijft.
Krijgt je wel een HTTP 500 response status? Dan is het sowieso een PHP error.

Heb je display_errors = On in de php.ini staan, in een .htaccess, of gebruik je ini_set() binnen je PHP bestand zelf? Die laatste zal namelijk niets doen bij Parse-errors.

De error zal sowieso in de error_log van PHP staan, of als je die niet gedefinieerd hebt in de ErrorLog van Apache.

[ Voor 12% gewijzigd door frickY op 26-10-2011 11:20 ]


  • HenkEisDS
  • Registratie: Maart 2004
  • Laatst online: 20:59
; vergeten resulteert volgens mij altijd in een fout op de volgende regel UNEXPECTED T VAR BLA BLA

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Hoop aannames en welles/nietes, maar alleen de ts kan het ophelderen: stel je display_errors en error niveau in je PHP script in of in de apache config oid?
418O2 schreef op woensdag 26 oktober 2011 @ 11:14:
nee. Als je ergens een ; oid vergeet, dan gaattie gewoon dood. Zou je toch moeten weten.

Dus, blok voor blok uitcommentariseren en kijken waar het zit.
Shotgun surgery methode... Als je het echt op deze manier moet achterhalen: Steek gewoon xdebug aan, start een debug session en je ziet meteen hoe ver je komt.

{signature}


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-11 11:39

Janoz

Moderator Devschuur®

!litemod

Je kunt natuurlijk ook gewoon in je Apache (of welke webserver je dan ook maar gebruikt) log gaan kijken.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Miyamoto
  • Registratie: Februari 2009
  • Laatst online: 20:28
display_startup_errors ook aan staan?
Dubbelcheck ook phpinfo().

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22:12

alienfruit

the alien you never expected

Topicstarter
Sorry, jongens, ik ben een beetje de kluts kwijt. Volgens mij zou het ook een foutmelding moeten geven als ik een komma of een semicolon vergeten ben... Daar vraag ik het hier ;)

Mijn instellingen zijn:
display_errors On On
display_startup_errors On On
error_log no value no value
error_prepend_string no value no value
error_reporting -1 -1
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
log_errors On On
log_errors_max_len 1024 1024

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 24-11 15:02
Geef eens antwoord op alle gestelde vragen, anders komen we niets verder.

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22:12

alienfruit

the alien you never expected

Topicstarter
Ik krijg gewoon een pagina met http response code 200 terug alleen zonder content of wat dan ook. De error_logo van Apache geeft alleen een hele reeks NULL bytes terug.

Als ik ergens een ; vergeet dan krijg ik deze witte pagina.

[ Voor 15% gewijzigd door alienfruit op 26-10-2011 13:43 ]


  • XyritZz
  • Registratie: Augustus 2003
  • Laatst online: 04-11 15:39
Ik zou in zo'n situatie sowieso even proberen om als eerste regel PHP code die('Ik heb PHP bereikt'); te zetten. Nog steeds een witte pagina? Dan ligt het eerder aan je webserver dan aan PHP.

I think there is a world market for maybe five computers. - Thomas Watson (1874-1956), Directeur van IBM (1943)


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22:12

alienfruit

the alien you never expected

Topicstarter
Goed punt! Dan krijg ik het wel! Ik denk dat het CMS aan de haal gaat met de instellingen. Sorry!

  • XyritZz
  • Registratie: Augustus 2003
  • Laatst online: 04-11 15:39
alienfruit schreef op woensdag 26 oktober 2011 @ 13:55:
Goed punt! Dan krijg ik het wel! Ik denk dat het CMS aan de haal gaat met de instellingen. Sorry!
Dat zou je makkelijk moeten kunnen vinden, meestal zit er in een CMS wel ergens een config file waar PHP instellingen in worden gezet. Als je niet zo'n bestand kunt vinden dan zou ik er even op zoeken in de code.

Voor development is het altijd handig als je dit voor je eigen testomgeving kunt overschrijven zodat je wel alle errors ziet.

I think there is a world market for maybe five computers. - Thomas Watson (1874-1956), Directeur van IBM (1943)


  • Reboot
  • Registratie: Januari 2009
  • Laatst online: 29-07 22:18
Als je ergens die(); hebt staan krijg je ook een witte pagina

Verwijderd

Reboot schreef op woensdag 26 oktober 2011 @ 15:17:
Als je ergens die(); hebt staan krijg je ook een witte pagina
tenzij je natuurlijk die('fooBar'); hebt.

  • Douw3rd
  • Registratie: Januari 2010
  • Laatst online: 23-04-2023
Ik heb ook welles meegemaakt dat error_reporting(E_ALL); de errors wel te voorschijn wist te toveren, waarbij andere soortgelijke codes het niet lukte.

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 26-11 09:50
Ik gebruik altijd:

code:
1
2
error_reporting(E_ALL);
ini_set('display_errors', true);


wat eigenlijk altijd werkt, tenzij het in de configuratie bestanden expliciet staat dat je het niet kan aanpassen.

Claude: "Domain patterns emerge from iteration, not generation." - Tweakers Time Machine Extension | Chrome : FF


  • Camulos
  • Registratie: Januari 2009
  • Laatst online: 17-11 12:35

Camulos

Stampert

infinite (for/while)loop wil ook wel eens een wit scherm veroorzaken :)

Not just an innocent bystander


  • jip_86
  • Registratie: Juli 2004
  • Laatst online: 23:24
Short tags al gecontroleerd? Als je die gebruikt en short tags uit hebt dan kreeg je volgens mij ook witte pagina's.

  • Cartman!
  • Registratie: April 2000
  • Niet online
ZpAz schreef op woensdag 26 oktober 2011 @ 21:02:
Ik gebruik altijd:

code:
1
2
error_reporting(E_ALL);
ini_set('display_errors', true);


wat eigenlijk altijd werkt, tenzij het in de configuratie bestanden expliciet staat dat je het niet kan aanpassen.
Tip: maak van die E_ALL voortaan -1, vet handig in PHP... E_ALL is niet echt ALL namelijk ;)

We hebben nog open staan hoe t zit met de config van de applicatie en het gebruik van output buffering.

  • SvMp
  • Registratie: September 2000
  • Niet online
Ik heb het idee dat sommigen dit probleem wel heel moeilijk maken.

Naar mijn weten kun je op geen enkele manier witte pagina's (lees: geen output) krijgen als je de display errors en melding van alle soorten warnings/errors aan hebt staan.

Toch een witte pagina?
- Simpelweg geen output in je script of niet zichtbaar
- Oneindige loop (maar dan zie je dat de browser wel aan het wachten is, en zal er een timeout komen)
- PHP-instellingen worden door een script veranderd

  • mocean
  • Registratie: November 2000
  • Laatst online: 25-11 11:02
Een overschrijding van max-geheugen kan ook een witte pagina geven!

Koop of verkoop je webshop: ecquisition.com


  • DexterDee
  • Registratie: November 2004
  • Laatst online: 26-11 17:04

DexterDee

I doubt, therefore I might be

Een kijkje in de access_log en error_log van apache is vrijwel altijd voldoende om een foutmelding te achterhalen

Klik hier om mij een DM te sturen • 3245 WP op ZW


  • X_lawl_X
  • Registratie: September 2009
  • Laatst online: 18:52
mocean schreef op donderdag 27 oktober 2011 @ 22:14:
Een overschrijding van max-geheugen kan ook een witte pagina geven!
Dan krijg je vaak een foutmelding - iets van FATAL ERROR: Memory limit exceeded.

  • Hmail
  • Registratie: April 2003
  • Laatst online: 23-11 10:43

Hmail

Doet ook maar wat.

Drupal staat bekend om z'n witte pagina's. Heb ooit eens een volle dag besteed aan het zoeken van een bug. Bleek ik PHP gesloten te hebben met ?>. Was niet de bedoeling :P
Kortom, debugger erbij, en door de code steppen. Dan kom je vanzelf bij de fout.

It might sound as if I have no clue what I'm doing, but I actually have a vague idea.


  • wjzijderveld
  • Registratie: Augustus 2005
  • Laatst online: 09-11 14:42
Wil toch even opmerken dat ik hier nu 2 pagina's reacties zie zonder dat de TS echt geholpen wordt, iedereen loopt mogelijke redenen te geven waarom er een witte pagina ontstaat, terwijl de TS enkel vraagt hoe hij de errors weer op zijn scherm krijgt.

Mooie is nog dat TS uiteindelijk zelf zijn antwoord geeft, het CMS overschrijft de instellingen.

Canon EOS60D | Canon 100mm f/2.8 USM | Canon 100-400mm f/4.5-5-6L | Canon 10-22mm f/3.5-4.5 USM | Canon 430EX II


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22:12

alienfruit

the alien you never expected

Topicstarter
Ik wil opmerken dat ik gebruik maak van Contao (www.contao.org)

  • Cartman!
  • Registratie: April 2000
  • Niet online
En heb je al gekeken naar de settings van dat pakket, output buffering en de error logs van je webserver? Er zijn toch wel wat tips naar voren gekomen, enkel roepen dat je een bepaald pakket gebruikt hebben we weinig aan.

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22:12

alienfruit

the alien you never expected

Topicstarter
Blijkbaar was ik niet helemaal duidelijk in mijn commentaar van eerder deze week.

Het pakket gaat aan de haal met de standaardinstellingen. Dit is op te lossen door in initialize.php de waarden terug te veranderen bijv. naar -1. Maar dit is alleen in combinatie met de 'Fehlermeldungen anzeigen' optie.

  • mindcrash
  • Registratie: April 2002
  • Laatst online: 22-11-2019

mindcrash

Rebellious Monkey

Blank pages wil je ook nog weleens krijgen bij de combinatie webserver / PHP als CGI applicatie waarbij het een en ander verkeerd staat ingesteld in de webserver config. Gebruik je (Fast)CGI in combinatie met Apache of mod_php in combinatie met Apache?

"The people who are crazy enough to think they could change the world, are the ones who do." -- Steve Jobs (1955-2011) , Aaron Swartz (1986-2013)


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22:12

alienfruit

the alien you never expected

Topicstarter
Het probleem is al opgelost :|

  • Cartman!
  • Registratie: April 2000
  • Niet online
En wat was t....?

  • Miyamoto
  • Registratie: Februari 2009
  • Laatst online: 20:28
alienfruit schreef op zaterdag 29 oktober 2011 @ 13:33:
Het pakket gaat aan de haal met de standaardinstellingen. Dit is op te lossen door in initialize.php de waarden terug te veranderen bijv. naar -1. Maar dit is alleen in combinatie met de 'Fehlermeldungen anzeigen' optie.
Een ontwerpbeslissing van een ander die alienfruit en diverse anderen geruime tijd bezig hield ;)
Pagina: 1