Solved

PHP Error Reporting under IIS 6.0

Posted on 2008-10-06
4
2,096 Views
Last Modified: 2013-12-13
Hello,

I'm having an issue getting errors to output to the browser with PHP under IIS 6.0 on Windows Server 2003. I've set the php.ini file in the Windows directory by uncommenting:

error_reporting  =  E_ALL
dispaly_errors = On

And I've also tried setting the values at runtime in my scripts with:

ini_set('display_errors', 0)
ERROR_REPORTING(E_ALL);

But I'm unable to throw any errors. I'm basically using an includes statement in a script to a file that doesn't exist, but the script still executes error free; no suppression directives, etc used anywhere.  Thinking it's an IIS thing since I never ran into this under Apache.

Any insight would be greatly appreciated.

0
Comment
Question by:jmoriarty
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 2

Accepted Solution

by:
AdiF earned 500 total points
ID: 22656325
Please try specifying an error log file in your php.ini and check it to ensure that errors are being logged.

Is the rest of the PHP script outputting content to your browser, or are you receiving an HTTP 500 Internal Server Error message?

Try also setting display_startup_errors to On because I think an include() might be considered a startup routine thing hehe.

Try also running a phpinfo(); script and check the output to ensure that the path for the php.ini is the file you are editing.

If you are using ISAPI or FastCGI you should restart the IIS service every time you modify your php.ini for full changes to take effect.
0
 

Author Comment

by:jmoriarty
ID: 22656454
Hi AdiF,

Interestingly, no, the script outputs nothing when an error is present, even if I do something simple like the attached code snippet. If I remove the require statement, the echo output's fine however.  No internal server either though, just a blank, white screen.

PHP is configured as an ISAPI module, and I did restart IIS after each change. I restarted again just now to triple check, same affect.

Double checked phpinfo(); and it is pulling from the C:\Windows .ini, so we're okay there, and startup errors are actually on. display_startup_errors = On

 no errors are logged, either. error_logging = On in .ini, and
error_log = "C:/PHP/logs/err.log" directive set as well.

Strange, eh?

<?php
 
require("filedoesnotexist.php");  
 
// Get the current include path settings from php config file
$path = ini_get('include_path');
echo $path
 
?>

Open in new window

0
 

Author Comment

by:jmoriarty
ID: 22660976
Found the problem - I was completely misreading the phpinfo() output. The loaded config file was actually in another directory. D'oh.

Thanks for the help either way.

0
 
LVL 2

Expert Comment

by:AdiF
ID: 22664888
...*snickers*  :)  hehehe.  troubleshooting is a pain-- finding out you've overlooked a troubleshooting candidate is even more annoying :P

no problem!
0

Featured Post

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses four methods for overlaying images in a container on a web page
This article discusses how to implement server side field validation and display customized error messages to the client.
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to count occurrences of each item in an array.

632 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question