One thing to check are the file permissions. It may sound like black magick, but here is what needs to be the case: the server process user (usually either named apache or www-data when you run apache) needs to have read access for all files.
Some servers
solve this by adding apache to a group that has access to all files in
the
public area. the server process will sometimes only run / read files
that
are in a directory wich is executable for the server-user
Can you confirm that a) permissions on all PHP files are the same? Or do some have other users, groups and/or other permissions?
Which php files?
b) that your server/host does not require funny stuff such as (yes, I have encountered this before!) all php files to sit in one
directory only.
This is a server I manage. All drupal directories are as they were setup by default. Including each module in it's own directory under modules/. To add modules, I download them directly on the machine, and extract them into the modules directory.
- jody