我最近发现了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 );
提前感谢您的所有建议!
答案 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