Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Purposfully timeout a PHP script

this may seem odd, but I actually need a PHP script that WILL time-out, i.e.: take so long to execute that Apache WILL time-out the script and fire a 408 error.

The purpose for this, is to demo capturing the 408 with a custom 408 error page to report timeouts to a database.

Perhaps there is a better way to do this that you may suggest?

I don't think an infinite loop would work as Apache would 500 if I remember correctly.

Edit -------

It has been pointed out that a 408 is a client error, so in addition, what error would Apache fire if a script times-out?

I'd like an actual example rather than a synthesized header() as this is to be pitched to a client and they would ideally like a real-world example.

Thank you!

like image 925
Jonathon Oates Avatar asked May 14 '12 14:05

Jonathon Oates


2 Answers

How about sending 408 status code from php script?

<?php
  header("HTTP/1.0 408 Request Timeout");
?>

Or perhaps

<?php 
  sleep(99999);
?>
like image 200
Janis Veinbergs Avatar answered Oct 04 '22 04:10

Janis Veinbergs


<?php
    while(true){
        //to infinity and beyond...
    }
?>

This will do it..

like image 22
FueledPublishing Avatar answered Oct 04 '22 03:10

FueledPublishing