PHP can’t read files containing PHP code as text files

fopenpermissionsphpsecurity

I've stumbled upon the following pecularity:

$handle = fopen(realpath("../folder/files.php"), "r");

can't read a file, but as soon as I remove php tags from the file,
it becomes readable and my scripts prints non-empty file content on the page.
Also, file.php is never ever executed, so I wonder why it is the problem.

I guess somehow Apache or PHP doesn't let read files containing php tags PHP as just text.

How can I enable it for my particular file (course doing it globally would be unsecure)?

Using PHP 5.2.x and Apache 2.0

Best Solution

I got it. I was using Google chrome to debug the page, and I realized that when viewing the source, Chrome hides PHP tags for some reason. I ran the same test on Firefox, and viewing the source proved that everything was okay.

Here are the test details:

Code:

$fh = fopen("test.php","r");
while ($line = fgets($fh)){
echo $line;
}

File to be read (test.php):

testing <?php testing2 ?> testing3

Rendering (on both Chrome and firefox):

testing  testing3

View source (using firefox):

testing <?php testing2 ?> testing3

View source (using Chrome - source of my mistake):

testing  testing3