I've been pulling my hair out over a strange issue... from what I can tell, is_file()
is causing a segfault when checking a particular file:
if( is_file('/path/to/file.php') ){
exit 'ok';
}else{
exit 'err';
}
Running this code causes an immediate segfault, even before PHP can write the error to its error log.... the Apache child process is killed.
I confirmed that this is the block that's causing the segfault, because I placed an exit;
immediately before the block and that code was reached fine. I also tried is_dir()
on the directory this file is contained in, but that also segfaults:
if( is_dir('/path/to') ){
exit 'ok';
}else{
exit 'err';
}
Does anyone have any idea what could be causing this? The file exists at that location, and I can view/edit it fine with my user account (which is also the same user Apache runs as), so I don't think it's a permissions issue. Even if it was related to file permissions, shouldn't I be seeing an error in the PHP log?
Also, note that I have been using the same MAMP setup for approximately a year with no issues (and no changes to my extensions), so it's unlikely to be an issue with my setup. Also, I had another developer run this code and he's seeing the same issue on his machine.
Any ideas are much appreciated.
It's happening for both of us on Mac OSX 10.6.8. PHP versions 5.3.1 and 5.3.2.
My machine: MAMP - Apache/2.0.63 (Unix) PHP/5.3.2 DAV/2 mod_ssl/2.0.63 OpenSSL/0.9.7l
My colleague's: XAMPP - Apache/2.2.14 (Unix) mod_python/3.3.1 Python/2.5.4 DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_perl/2.0.4 Perl/v5.10.1