什么是「;“起点”;对于PHP';s set_include_路径

什么是「;“起点”;对于PHP';s set_include_路径,php,Php,在PHP中,设置的路径相对于什么?它是PHP.exe所在的文件夹吗?是webroot吗?换句话说,set_include_path('/')或set_include_path('.')所指的文件夹是什么?文件系统根目录和当前目录。相对路径是从文件的位置解析的,其中使用了include或其他使用include_path的函数(请参阅): 在包含路径中使用允许相对包含,因为它意味着当前目录。但是,显式使用include./file'比让PHP始终检查当前目录中的每个include更有效 /将描述文件

在PHP中,设置的路径相对于什么?它是PHP.exe所在的文件夹吗?是webroot吗?换句话说,set_include_path('/')或set_include_path('.')所指的文件夹是什么?

文件系统根目录和当前目录。

相对路径是从文件的位置解析的,其中使用了
include
或其他使用include_path的函数(请参阅):

在包含路径中使用
允许相对包含,因为它意味着当前目录。但是,显式使用
include./file'
比让PHP始终检查当前目录中的每个include更有效

/
将描述文件系统的根目录和当前目录。

设置include路径(“/”)将使include路径成为文件系统的根文件夹,我猜您可能不想这样做,因为暴露您不想看到的文件时可能会出现问题


如果您的php文件是/home/users/joebloggs/htmlroot/index.php,那么set_include_path(“.”)将使include路径成为php文件所在的目录,即“htmlroot”目录

On*nix系统和Windows Apache/是文件系统的根目录。在IIS/上时,指向vhost的根目录

我要做的是在index.php中定义一个LOC常量,这样在包含文件时就不会感到困惑

define('LOC', dirname(__FILE__));
include(LOC . '/files/file.php');

“文件系统根目录”指的是C:\?如果您的web服务器等运行的是C:,当然。我的web服务器运行的是X:,这是C:上的一个共享文件夹,映射到X:@Joshua-尝试运行测试脚本-设置“包含”路径(“/”);echo realpath(get_include_path());非常感谢。realpath正是我一直需要的!Gzip提出了以下建议,这对我非常有用:试着运行一个测试脚本-set_include_path('/');echo realpath(get_include_path());