Register  |  Login

Question Details    

   Question

Time: 06:13 - Nov 02, 2006     Asked by: dustPuppy      Status: Answered      Points: 125   

error handling in php?

How do I handle "difficult" errors in PHP?
I have a call to the method "imagecreatefromjpeg" which seems to break the script, but I don't get any error message.
I have enabled the ERROR_REPORTING(E_ALL); on the page.
I think it's because it's running into a full memory problem, but how do I know, and how do I handle it?
Basically what I'm doing is running through all the jpg images in a directory, creating thumbnails for them. And it works fine until a certain point and then just a blank page is output and nothing more.

Ask a New Question

Become a Quomon Expert

Current Categories

 

Other Questions Needing Answers


   

Answer Discussion
Answer Discussion
Answer Summaries
Answer Summary
 
I forgot to mention that I'm using PHP Version 5.1.6 on a Windows NT NS13 5.2 build 3790 machine.

Expert:

dustPuppy

Date:

Nov 03, 2006

Time:

02:32

 

Votes: Good (0) | Bad (0)
Login to rate this answer

Well, finally it was a problem of several coinciding elements.
My host doesn't allow errorreporting directly on the page, so that was why I wasn't getting the error.
And the error was a script exceeded timeout problem, which could be solved by setting
set_time_limit($seconds);

Expert:

dustPuppy

Date:

Nov 03, 2006

Time:

08:26

 

Votes: Good (0) | Bad (0)
Login to rate this answer

I'm wondering though, how to handle fatal errors in php. Isn't there a nice way to take care of those, instead of everything breaking down? I mean at least capturing the error and showing a custom error message instead?

Expert:

dustPuppy

Date:

Nov 03, 2006

Time:

08:27

 

Votes: Good (0) | Bad (0)
Login to rate this answer

The best way to handle errors is try not to make them.
So it would be good to add to each module a test set to discard it when problems arise.

Then there is the environment. Set a phpinfo page to check your config. parameters in the target web zone.

There are three handlers you can set, from which you can log anything you want to a file in your site with the function error_log.

With register_shutdown_function( “myOnShutdown”) you may set a function that executes at the end of request processing.

With set_error_handler( “myOnError”) you may handle the errors yourself.

With PHP5 set_exception_handler(“myOnException”) you may set an exception handler for uncaught exceptions.

There are also some network debuggers, explained at http://es2.php.net/manual/en/debugger.ph..., but you need access to certains sockets so it is not available when app. is hosted.

Expert:

xarcus

Date:

Nov 16, 2006

Time:

10:34

 

Votes: Good (0) | Bad (0)
Login to rate this answer

From the manual (http://es2.php.net/manual/en/function.se...)

>> The following error types cannot be handled with a user defined function: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, and most of E_STRICT raised in the file where set_error_handler() is called.

>> If errors occur before the script is executed (e.g. on file uploads) the custom error handler cannot be called since it is not registered at that time.

Expert:

xarcus

Date:

Nov 16, 2006

Time:

10:58

 

Votes: Good (0) | Bad (0)
Login to rate this answer

E_ALL does not include all errors (E_STRICT type is excluded).

You should write
error_reporting(E_ALL | E_STRICT)

for all errors. ( see note at http://es2.php.net/manual/en/function.er...).

Expert:

xarcus

Date:

Nov 16, 2006

Time:

11:09

 

Votes: Good (0) | Bad (0)
Login to rate this answer

that's great info there, xarcus.
I think set_exception_handler(“myOnException”) is what I was looking for.
Thanks a lot.

Expert:

dustPuppy

Date:

Nov 16, 2006

Time:

12:08

 

Votes: Good (0) | Bad (0)
Login to rate this answer

Question Answered

This question has been answered, and points have been rewarded to the following experts:

xarcus: 125

You're welcome however to comment or give additional information or if you wish, you have the ability to write an Answer Summary for this question by clicking on the "Answer Summaries" Tab.

 
No summaries have been submitted yet. Want to be the first?



Respond to this question:

New User

  Email:

Upon submission of this form, you will automatically be registered as a Quomon user and we will send your login information to this address

Registered User

Username:

Password:


Forgotten Password

 

New User

  Email:

Upon submission of this form, you will automatically be registered as a Quomon user and we will send your login information to this address

Registered User

Username:

Password:


Forgotten Password

   

"Psst, Quomon is a great site. Pass it on."     Tell a Friend  |   Link To Us  |   Save to Delicious  |   Digg! Digg it


All Questions


Language Options

English:

www.quomon.com

Español:

www.quomon.es

Quomon Blog

blog.quomon.com

Sponsors

Questions and Answers Software
Real Estate Postcards
Marketing Fulfillment