[IIS/PHP] Opzettelijk syntax fout geeft error 500

Pagina: 1
Acties:
  • 1.572 views sinds 30-01-2008
  • Reageer

  • siepeltjuh
  • Registratie: Maart 2003
  • Niet online
Via de search vond ik niets, dus daarom meld ik mij.

het probleem dat ik heb is na 4 uurtjes prutsen nog niet opgelost. Het zit zo dat ik IIS7.0 draai op Vista met PHP.
Normaal ben ik gewend dat als ik code en debug ik de foutmeldingen gewoon in internet explorer zie.
De syntax errors bijvoorbeeld. Echter als ik nu opzetten een quote teveel plaats of een ; weg haal in mijn script

Krijg ik niet te zien:
PHP Parse error: syntax error, unexpected T_STRING in C:\inetpub\wwwroot\index.php on line 10

Maar een Error 500 pagina die IIS genereert. Hoe krijg ik IIS zover dat hij de PHP meldingen laat zien.
Ik maak gebruik van de ISAPI module. Bekend dat deze nog niet productie stabiel is, maar die heeft het altijd gedaan i.c.m. IIS en de super eenvoudige errors die ik opzettelijk genereer.

Het e.e.a. wordt wel weggeschreven in een log file, maar dat neemt te veel tijd in bij het debuggen omdat steeds te openen en refreshen.
Alle relevante error settings in php.ini staan goed zoals display_error = On

Can`t live without the mods


  • Psychokiller
  • Registratie: Oktober 2001
  • Niet online
Volgens mij moet je dit zowel in IIS7 instellen en bij je internet opties.
Bij die laatste staat in het tabblad geavanceerd ergens iets als "Gebruikersvriendelijke HTTP-foutberichten weergeven" standaard aangevinkt. Die moet sowieso uit.

In IIS heb je ook ergens die optie dacht ik op mijn werk gezien te hebben. Ik heb hier echter geen IIS7 geiinstalleerd en kan het niet nakijken. Ik meen dat het ergens een optie was die je eerst nog eens moest uitklappen. Iets van Foutlogging o.i.d.

  • SKiLLa
  • Registratie: Februari 2002
  • Niet online

SKiLLa

Byte or nibble a bit ?

Volgens mij is die client-side IE setting alleen al voldoende. Wel ff IE afsluiten en opnieuw starten ivm. mogelijk "stugge caching" ...

IIS 5 en 6 geven in de "standaard config" alle error details al door (iirc). De betreffende IIS opties zijn te vinden onder (in v5 en 6) IIS | Websites | Properties | Home Directory | Configuration | Debugging. De 2 checkboxes daar kun je unchecked laten, de combobox daaronder moet op de bovenste optie staan, maar dat is dacht ik allemaal standaard.

'Political Correctness is fascism pretending to be good manners.' - George Carlin


  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 15:46
Ik krijg heel soms ook een 500 i.p.v. een PHP-foutmelding, maar na een iisreset zie ik dan toch weer de 'gewone' PHP-foutmelding. Net alsof IIS het allemaal effe niet meer snapt. Dus ik zou zeggen, kijk ook eens of het na een iisreset nog steeds gebeurt.

  • siepeltjuh
  • Registratie: Maart 2003
  • Niet online
Eegee schreef op woensdag 24 oktober 2007 @ 23:43:
Ik krijg heel soms ook een 500 i.p.v. een PHP-foutmelding, maar na een iisreset zie ik dan toch weer de 'gewone' PHP-foutmelding. Net alsof IIS het allemaal effe niet meer snapt. Dus ik zou zeggen, kijk ook eens of het na een iisreset nog steeds gebeurt.
Wat jij noemt lijken inderdaad de instabiliteits problemen te zijn van de ISAPI dll. Dat is bekend, en daarom niet productie stabiel. Maar ik krijg het altijd en overal.

Zullen eens even gaan checken wat het is.
Bij mijn weten kan het niet een client setting zijn omdat je een http 500 (server error) krijgt.
Normaal krijg je een pagina met HTTP 200 (OK) met daarin de errors vermeld.
Je browser zelf gaat geen mooie error 500 melding maken als hij gewoon 200 OK krijgt van de server.

De instellingen mbt checkboxen ga ik controleren als ik thuis ben.

Can`t live without the mods


  • [eNeRGy]
  • Registratie: November 1999
  • Laatst online: 24-04-2025
Ook een known gotcha:
An Internet Explorer gotcha
Internet Explorer (bless it) will often ignore your carefully crafted pretty error page completely, and instead display its own "friendly" message. To prevent this happening, make sure that the size of your error page file is at least 512 bytes (add some filler text in HTML comments if you have to). IE will now display your error page rather than its own.

  • PeterSelie
  • Registratie: December 2002
  • Laatst online: 31-01 21:50
Dit zijn alleen de error-pages die je zelf klaar kan zetten voor je site, de custom 403, 404, 500 Error pages dus.
Waar het hier om gaat zijn de foutmeldingen die PHP zou moeten geven bij een syntax error ed ;)

Verwijderd

die error 500 is idd een leuke 'feature' van iis. waardeloos :D de server stuurt dus idd geen 200OK maar een leuke 500. het is wel zo dat iis in die 500 page een melding van de syntax fout geeft maar die wordt door IE er uit gehaalt met het 'friendly server messages' optietje...

dus als je die uit zet kan je de syntax error zien.

als je de raw output wilt zien kan je bijv wfetch gebruiken. die zit iig in de iis6 toolkit. ik weet niet zeker of die ook nog bij 7 zit, maar die van 6 werkt gewoon op iis7

  • siepeltjuh
  • Registratie: Maart 2003
  • Niet online
De client meuk uitzetten geeft nog niet het scherm dat ik wil zien.

IIS moet gewoon 200 ok zeggen en dan de PHP errors laten zien.
Want bij de vriendelijke varianten krijg je ook debugging info niet te zien die ik op het scherm wil hebben.

De optie in IIS home directory etc kan ik niet vinden in IIS 7 dus als iemand nog een suggestie heeft waar en hoe je dit in IIS 7 kan aanpassen.

Can`t live without the mods


Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
; Print out errors (as a part of the output).  For production web sites,
; you're strongly encouraged to turn this feature off, and use error logging
; instead (see below).  Keeping display_errors enabled on a production web site
; may reveal security information to end users, such as file paths on your Web
; server, your database schema or other information.
;
; possible values for display_errors:
;
; Off          - Do not display any errors 
; stderr       - Display errors to STDERR (affects only CGI/CLI binaries!)   
; On or stdout - Display errors to STDOUT (default)
;  
; To output errors to STDERR with CGI/CLI:              
;display_errors = "stderr"
;
; Default
;
display_errors = Off

; Even when display_errors is on, errors that occur during PHP's startup
; sequence are not displayed.  It's strongly recommended to keep
; display_startup_errors off, except for when debugging.
display_startup_errors = Off

; Log errors into a log file (server-specific log, stderr, or error_log (below))
; As stated above, you're strongly advised to use error logging in place of
; error displaying on production web sites.
log_errors = On


Uit php.ini, misschien dat hier het probleem ligt? ik heb overigens precies dezelfde error in dezelfde environment: vista bussiness (iis7) met ISAPI. Verschil is alleen dat ik nog geen enkel php bestand heb kunnen starten, ook niet een heel simpel testbestandje met phpinfo.

Ik heb de logbestanden niet kunnen vinden en de optie veranderen helpt in mijn geval ook niet.

Ik gebruik php 5.25 die met een bat file geïnstalleerd is: http://blogs.msdn.com/dav...n-PHP-on-IIS7-Part-2.aspx

Daar zijn ook al rapporten hiervan. Iemand met meer php kennis dan mij (meer dan heel weinig dus) die hier allemaal wel een verband tussen ziet?

[ Voor 3% gewijzigd door Verwijderd op 28-12-2007 01:22 ]


  • MiezeL
  • Registratie: Augustus 2002
  • Laatst online: 24-12-2025
De oplossing ligt binnen IIS7.

Je moet naar 'Error pages' en dan rechts naar 'Edit Feature Settings...'
Hier moet je hem zetten op 'Detailed errors'

et voila.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Ik mag toch hopen dat de topicstarter zijn probleem na 4 maanden wel opgelost heeft. :P Maar wel fijn dat je nog even een oplossing aandraagt. :)

'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.


  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05-2025

cappie

all lowercase

Oud of niet, dit heeft voor mij ook een probleem opgelost; dank voor de oplossing, MiezeL

Aspire to inspire before we expire | profiel | systeem

Pagina: 1