From:             [EMAIL PROTECTED]
Operating system: FreeBSD 4.5
PHP version:      4.1.1
PHP Bug Type:     HTTP related
Bug description:  HTTP HEAD request executes entire script

Maybe this is the way it's supposed to work, but it doesn't make a whole
lot of sense to me.

When processing a HEAD request, mod_php executes the script as if it were
a normal GET request. This is unexpected (at least to me) and can lead to
unexpected results, such as duplicate execution when dealing with browsers
that use a HEAD request prior to a GET request.

For example, test script test.php:
<?php
$fp = fopen("test.out", "a");
fputs($fp, "I'm hit!");
fclose($fp);
?>

and assuming test.out exists and is world-writable.

HEAD /test.php HTTP/1.0

causes the file test.out to be appended to.

This is not what I would expect, but maybe it's unavoidable. A workaround
is to look at $_SERVER['REQUEST_METHOD'] and do nothing if it's a HEAD
request.


 './configure' '--with-apxs=/usr/local/sbin/apxs'
'--with-config-file-path=/usr/local/etc' '--enable-versioning'
'--with-system-regex' '--disable-debug' '--enable-track-vars'
'--without-gd' '--without-mysql' '--with-zlib' '--with-mcrypt=/usr/local'
'--with-mysql=/usr/local' '--prefix=/usr/local' 'i386--freebsd4.5'




-- 
Edit bug report at http://bugs.php.net/?id=15693&edit=1
-- 
Fixed in CVS:        http://bugs.php.net/fix.php?id=15693&r=fixedcvs
Fixed in release:    http://bugs.php.net/fix.php?id=15693&r=alreadyfixed
Need backtrace:      http://bugs.php.net/fix.php?id=15693&r=needtrace
Try newer version:   http://bugs.php.net/fix.php?id=15693&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=15693&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=15693&r=notwrong
Not enough info:     http://bugs.php.net/fix.php?id=15693&r=notenoughinfo
Submitted twice:     http://bugs.php.net/fix.php?id=15693&r=submittedtwice

Reply via email to