After a PHP script timeout, Apache logs the error but may not cleanly exit the script

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi. I'm wondering if anyone can help with this.

We're using PHP and Apache, hosted on a dedicated server running Debian Linux. The specific versions in each case are mostly immaterial, as this problem has been around since Debian 6, and is still present in Debian 7; in the meantime we've been using the latest versions of all packages.

We're having problems with PHP script timeouts, which although rare, are behaving erratically and causing severe problems when they do occur.

The timeouts are always recorded in the Apache log, and sometimes the script and everything else may execute/terminate correctly, but often, various failures may be observed, such as:

  • timeouts not registered back to PHP - the script may not terminate as expected (the function registered with register_shutdown_function() - see code example below - may not be called);

  • after a timeout, Apache may run in the background indefinitely, using up CPU resources in one core;

  • Apache may fail altogether - no further requests serviced - Apache must be restarted.

The exact cause of the fault has not been found. It is reproducible on all servers we deploy to.

Example PHP script:

//...
function _on_shutdown()
{
    if (connection_status() & CONNECTION_TIMEOUT)
    {
        echo 'ERROR: TIMEOUT!';
        //Do something else...
    }
    exit;
}
register_shutdown_function('_on_shutdown');
//...more code here...
//(various potentially long running scripts which may timeout)

The above was also posted here:
http://serverfault.com/questions/542045/after-a-php-script-timeout-apache-logs-the-error-but-may-not-cleanly-exit-the-s

Ric.


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux