Is by design?

On my small Debian (Etch) server I observed that Apache (2.2) won't send a Last-Modified header when serving PHP (mod_5.2.) files (we are speaking plain-jane echo 'Hello World'; PHP files).

Furthermore, I observed the header Accept-Ranges can also be not offered by Apache for PHP files, although my primary conern for now may be the Last-Modified header.

PHP are dynamic page that may change. So Apache can't be aware of Last-Modified header.

You can include your personal header with:

 header('Last-Modified: GMT time');

Obviously if you want this header you may be searching to handle the request header If-Modified-Since too.

You'll find it in $_SERVER['HTTP_IF_MODIFIED_SINCE']

it only transmits this with static files. php files aren't static.

however, you can send them yourself, see http://www.php.net/manual/en/function.getlastmod.php#30514 to have an example.