PHP 包含路径:我做错了什么?
PHP include path: what am I doing wrong?
好的,我很确定这是有人会回答的最简单的问题。
我尝试获取并回显同一级别的文件内容:
die(file_get_contents('test.txt')); //"hello"
工作正常。我尝试通过设置错误的包含路径来使该调用无效:
set_include_path('non-existant-dir');
die(file_get_contents('test.txt')); //still "hello"
...但它仍然找到该文件。 set_include_path
mean 对 file_get_contents
的调用不应该在名为 non-existant-dir
的目录中查找 test.txt
并因此失败吗?
函数 "file_get_contents" 可以接受多个参数 - 其中一个是标志的组合,其中一个标志是 "FILE_USE_INCLUDE_PATH" - 默认情况下我认为它不会使用包含路径所以将包含路径设置为什么都没有关系。
尝试:
set_include_path('non-existant-dir');
die( file_get_contents('test.txt', FILE_USE_INCLUDE_PATH) );
在您的 php.ini
配置中寻找 include_path
覆盖 set_include_path
函数并将其注释掉然后重新启动 apache。
好的,我很确定这是有人会回答的最简单的问题。
我尝试获取并回显同一级别的文件内容:
die(file_get_contents('test.txt')); //"hello"
工作正常。我尝试通过设置错误的包含路径来使该调用无效:
set_include_path('non-existant-dir');
die(file_get_contents('test.txt')); //still "hello"
...但它仍然找到该文件。 set_include_path
mean 对 file_get_contents
的调用不应该在名为 non-existant-dir
的目录中查找 test.txt
并因此失败吗?
函数 "file_get_contents" 可以接受多个参数 - 其中一个是标志的组合,其中一个标志是 "FILE_USE_INCLUDE_PATH" - 默认情况下我认为它不会使用包含路径所以将包含路径设置为什么都没有关系。 尝试:
set_include_path('non-existant-dir');
die( file_get_contents('test.txt', FILE_USE_INCLUDE_PATH) );
在您的 php.ini
配置中寻找 include_path
覆盖 set_include_path
函数并将其注释掉然后重新启动 apache。