PHP/Apache是否默认查找包含文件夹?

PHP/Apache是否默认查找包含文件夹?,php,path,include,set-include-path,Php,Path,Include,Set Include Path,我最近发现了set_include_path(),并发现返回的路径是指向我的include目录的路径 PHP是否会自动查找include目录并将include\u路径更新到此目录 我还注意到,我用set_include_path设置的一些路径在类方法内部不可用,而在类本身之外设置 为什么会这样 $include_root = $_SERVER['DOCUMENT_ROOT'] . '/path/to/includes/'; $include_paths = get_include_path()

我最近发现了set_include_path(),并发现返回的路径是指向我的include目录的路径

PHP是否会自动查找include目录并将include\u路径更新到此目录

我还注意到,我用set_include_path设置的一些路径在类方法内部不可用,而在类本身之外设置

为什么会这样

$include_root = $_SERVER['DOCUMENT_ROOT'] . '/path/to/includes/';
$include_paths = get_include_path() . PATH_SEPARATOR .
                 $include_root . PATH_SEPARATOR .
                 $include_root . 'classes/' . PATH_SEPARATOR;

set_include_path( $include_paths );
提前谢谢你的建议

这(包含目录的任何“自动”查找)将在php.ini文件中设置。制作一个名为test.php的测试页面,其中包含:

<?php phpinfo(); ?>
您还可以找到正在使用的php.ini文件:

Loaded Configuration File   /etc/php5/apache2/php.ini
对于类方法问题,我没有答案

如果您是从命令行而不是通过浏览器运行,则可以使用以下命令检查ini文件:

php -r "phpinfo();" | less

我通过phpinfo()看到的值;是:。;C:\xampp\php\PEAR我很好奇为什么这不是返回的值。嗯,我也是!返回的值是什么?现在我正在开发中,所以它是:C:/xampp/htdocs/sitename/includes/if在我的类方法中调用。无论是否在类本身之外设置set_include_path()包含路径,结果都是相同的。我知道如果我在类构造函数中设置了路径,那么一切都可以正常工作。我很好奇为什么,“关于发展”是什么意思?您不是通过Apache而是通过命令行运行它?请参阅更新的答案。对不起,这只是意味着我正在本地开发,而不是在生产环境中开发。这可能不会影响这个问题。我使用Xampp在本地开发我的站点,然后再将它们上线。您能澄清一下设置“类外”包含路径的意思吗?这与类定义在一个单独的文件中吗?事情按什么顺序草签?另外,在代码的这些部分之间是否还会运行另一个对
set\u include\u path
(或
ini\u set('include\u path',…)
)的调用?
php -r "phpinfo();" | less