php的include_path包括以./开头的文件

|| 在我的PHP框架中,我想使用另一个PHP框架的几个功能。该其他框架只有一个门户网站脚本(index.php)。从那里开始,它可以执行所有操作(引导程序,呼叫控制器和操作等)。另一个框架包括以./开头的所有文件。 另一个框架的index.php:
include \'./inc/bootstrap.php\';
在bootstrap.php中:
include \'./inc/configs.php\';
include \'./inc/database.php\';
等 所以看起来所有包含都相对于index.php所在的文件夹。 有什么方法可以设置环境,以便我可以从另一个文件夹(框架中的某个位置,因此是一个完全不同的文件夹而不是门户网站脚本)引导框架?
include_path
包括
.
,我也尝试了在include_path中与其他框架的文件夹一起使用它,但是没有任何改变。 我猜它是./包含的,但是我不能更改它们(其他框架不是我的框架的一部分,将在一段时间后更新)。有没有解决的办法(或者我做错了什么)?     
已邀请:
以开头的路径。或/忽略include_path,因为它们是相对于工作目录的。 因此,唯一的方法是使用PHP函数chdir更改工作目录: 在您的框架中:
chdir(\'/path/of/the/other/framework\'); // change the working directory
require \'/path/of/the/other/framework/bootstrap.php\'; 

// optionally you can reset the working directory
chdir(dirname(__file__));
    
当您要包含另一个框架的引导文件时,您需要先在该目录中“ 5”,然后再包含它,随后所有包含的内容都将相对于引导文件而言是正确的。     
您应该可以使用
set_include_path( $path_to_include_files )
进行此操作。如果仍然有问题,可能意味着脚本中还有一个地方将
include_path
设置为另一个值。     
  这些文件按以下顺序包括   包含路径,在此示例中,   目录结构如下: 。 │— index.php │— t1 ││-a │└─b └─t2 | — b c─c
<?php

set_include_path(\'t1\' . PATH_SEPARATOR . \'t2\');

include \'a\';  // includes from T1
include \'b\';  // includes from T1
include \'c\';  // includes from T2

?>
  请注意,包含路径会影响   仅包含/需要功能。
<?php

var_dump(file_exists(\'a\'));  // false
var_dump(fopen(\'b\', \'r\'));  // file not found

?>
资源     

要回复问题请先登录注册