我正在处理一个过时的PHP4 IIS服务器,它有奇怪的设置,我绝对无法更新PHP或修改任何服务器设置。
服务器上的这个遗留站点基本上都有子目录,这些子目录有一个includes
目录,因此有多个includes
目录,在我的root中我做了类似的事情
include 'includes/nav.php';
nav.php
个目录中大约有10个includes
个文件,所以有时错误的文件会被拉入。
我找到了一种解决方法,只需在其前面添加绝对本地文件系统路径,例如
$base = dirname(__FILE__);
include $base . '/includes/nav.php';
但是,为了应用修复,我必须改变几乎每个文件。
但每个文件都包含相同的配置文件。是否有一些我可以使用的ini函数技巧,以便每个子目录从其相对目录路径而不是其他包含目录中获取其相应的包含文件?
答案 0 :(得分:2)
如果我正确理解您的问题,它看起来像更改include_path
(在php.ini中,或使用ini_set('include_path', '...')
或set_include_path('...')
),以便相对包含文件夹首先尝试,或在任何其他包含文件夹之前,可能会有所帮助。