include php __DIR__
PHP scripts run relative to the current path (result of getcwd()), not to the path of their own file. Using __DIR__ forces the include to happen relative to their own path. CORRECT: in file2.php: include (__DIR__ . "/file3.php"); To demonstrate: - file1.php - dir/ - file2.php - file3.php If file2.php includes file3.php like this: include `file3.php`. It will work fine if you call file2.php directly. However, if file1.php includes file2.php, the current directory (getcwd()), will be wrong for file2.php, so file3.php cannot be included.