2013-07-30 165 views
0

我正在本地服务器上工作,但我有包括文件在内的问题,即使提供了完整路径。例如,我有一个文件/home/[user]/public_html/vt/test.php这样的:PHP警告:无法打开流:没有这样的文件或目录

<?php  
include_once('/home/<user>/public_html/vt/Menu.php'); 
print "included_once called.\n";  
?> 

我有错误error_log

failed to open stream: No such file or directory 

/home/[user]/public_html/vt/Menu.php存在,并获得正确的是:

-rwxr-xr-x. 1 <user> apache 3906 Jul 5 08:43 <full/path/of/the/file> 

本地的DocumentRoot文件夹设置为(递归):

drwxr-xr-x. 4 <user> apache  4096 Jul 26 14:06 public_html 

那又怎么了?

+0

* *“那么,什么是错了吗?” - 文件或目录不存在。 – deceze

+0

?这有效吗? – JonathanRomer

+0

@deceze LIKE我说过,我使用ls -l来测试文件路径,它存在并拥有755个权限。 – user1866880

回答

2

尝试类似的东西:(DIR是一个神奇的常量包含当前文件的目录)

include_once dirname(__FILE__).'/Menu.php'; 

// PHP >= 5.3 
include_once __DIR__.'/Menu.php'; 
+0

__DIR__做的工作,谢谢一吨。 @bit工作 – stackMonk

+0

现在,此处有一个常见错误的疑难解答清单:stackoverflow.com/a/36577021/2873507 –

0

这将帮助你

$root = realpath($_SERVER["DOCUMENT_ROOT"]); 

include "$root/inc/include1.php"; 
+1

请阅读本文http://stackoverflow.com/a/11894051/1948627。所以我认为'__DIR__'使用更安全。 – bitWorking

相关问题