16.2.1 Error handling: posix_get_last_error() and posix_strerror()This is NOT the latest copy of this book; click here for the latest version.
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:
<?php
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 see this stuff in print? PHP in a Nutshell takes the core topics covered here, adds in thousands of edits from the editorial team and myself, and combines them to make an unbeatable reference for PHP programmers at all levels.
My latest book has hundreds more tips on how to use PHP, Apache, and MySQL, plus Perl, Python, shell scripts, performance tuning, and more!
|