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

时间:2011-09-20 04:14:00

标签: php path include set-include-path

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

PHP是否会自动查找包含目录并将include_path更新为此?

我还注意到,当在Class本身之外设置时,我在set_include_path中设置的几条路径在Class Method中不可用。

为什么会这样?

$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 );

提前感谢您的所有建议!

1 个答案:

答案 0 :(得分:2)

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

<?php phpinfo(); ?>

将浏览器指向test.php并查找此变量:

include_path    .:/usr/share/php:/usr/share/pear

您还可以找到正在使用的php.ini文件:

Loaded Configuration File   /etc/php5/apache2/php.ini

我对类方法问题没有答案。

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

php -r "phpinfo();" | less