[vox-tech] PHP fopen() bug
Mitch Patenaude
patenaude at gmail.com
Sun Mar 20 18:24:03 PST 2005
On Sun, 20 Mar 2005 07:28:04 -0800, Rod Roark <rod at sunsetsystems.com> wrote:
[...]
> $fh = fopen('/tmp/test', 'w');
>
> always fails with a "no such file or directory" error. It
> doesn't seem to matter what the path is.
>
> What DOES work is:
>
> touch('/tmp/test');
> $fh = fopen('/tmp/test', 'w');
Hmm... probably is a bug in PHP. My guess: Instead of just passing
parameters on to the equivalent C library function of the same name,
they implemented it using the low level system call open(2), and they
forgot to || in the O_CREAT flag.
If you really want to track this down: it's easy enough to check using
strace, though harder while it's in the apache module. Can you get it
exhibit this behavior calling the php command line interpreter?
-- Mitch
More information about the vox-tech
mailing list