我的Linux机器上运行了一个apache2服务器。我通过将include_path设置为
编辑了文件/etc/php5/apache2/php.iniinclude_path = ".:/usr/share/php:/var/www/subdir"
为了确保我没有更改错误的文件,我还编辑了我在计算机上找到的所有其他php.ini文件(还有一个)并检查了phpinfo()的输出,从上面打印了正确的include_path。 (我也重新启动了apache2。)
然而,当我使用像
这样的行时use some\name\space;
require_once('./subsubdir/file.php');
在文件start.php(位于另一个目录/ var / www / subdir / anothersubdir /)中,require_once命令不起作用,因为我在apache日志文件中收到以下错误
[error] [client 127.0.0.1] PHP Fatal error: require_once(): Failed opening required './subsubdir/file.php' (include_path='.:/usr/share/php:/var/www/subdir') in /var/www/subdir/anothersubdir/start.php on line x
我也试过
require_once('/subsubdir/file.php');
但它不起作用。当我如上所示设置include_path时,如何包含file.php?
提前多多感谢!
答案 0 :(得分:1)
我要问自己的第一个问题是:
回答这两个问题的简单方法是:
print getcwd() . "<hr />\n";
$t='/var/www/subdir/anothersubdir/subsubdir/file.php';
function show_permissions($path)
{
if (strlen($path)>1) {
show_permissions(dirname($path));
}
if (is_readable($path)) {
print "Permissions for $path: " . var_export(stat($path)) . "<br />";
} else {
print "can't read $path <br /> \n";
}
}
(我的钱会出现权限问题 - 而不是路径问题)
答案 1 :(得分:0)
尝试重新启动Apache,以清除内部缓存。