Error handling

string posix_get_last_error ( void )

int posix_strerror ( string error_number)

As I mentioned already, the PHP POSIX functions are really just calls to the standard C POSIX functions, and this has the downside of making them very hard to debug. Two functions alleviate this problem: posix_get_last_error() and posix_strerror(), which grab the last error number and turn that error number into a string respectively. So, if you want to check for an error when calling posix_kill(), you'd use code like this:

    posix_kill(293811, SIGKILL);
    $errno = posix_get_last_error();
    if ($errno) {
        echo "Error encountered: ", posix_strerror($errno), "\n";
    } else {
        echo "No errors encountered.\n";

In that script, the process ID 293811 is just made up, which is the point: posix_kill() will probably fail because the PID doesn't exist. Or, if it does exist, it might not belong to you, and so also probably will not be killed - unless you're root, of course!


Want to learn PHP 7?

Hacking with PHP has been fully updated for PHP 7, and is now available as a downloadable PDF. Get over 1200 pages of hands-on PHP learning today!

If this was helpful, please take a moment to tell others about Hacking with PHP by tweeting about it!

Next chapter: The Standard PHP Library >>

Previous chapter: POSIX functions

Jump to:


Home: Table of Contents

Copyright ©2015 Paul Hudson. Follow me: @twostraws.