What are the common pitfalls to avoid when transitioning from PHP 4 to PHP 5 in terms of file inclusion and interpretation?

One common pitfall when transitioning from PHP 4 to PHP 5 is the change in file inclusion and interpretation. In PHP 4, the include() and require() functions do not differentiate between including a file with a .php extension or a non-PHP file. However, in PHP 5, including a file with a .php extension will execute the code within that file, while including a non-PHP file will simply include its contents as text. To avoid unexpected behavior, it is important to ensure that files with PHP code have a .php extension and that non-PHP files are included using readfile() or file_get_contents().

// PHP 4 style file inclusion
include 'file.html';

// PHP 5 style file inclusion
$file = 'file.php';
if (pathinfo($file, PATHINFO_EXTENSION) === 'php') {
    include $file;
} else {
    echo file_get_contents($file);
}