日期:2014-05-16  浏览次数:20449 次

php访问根目录有问题?
我用的系统是CentOS,网站根目录是/var/www/html,根目录放有head.inc.php,当我在index.php里require('head.inc.php')时一切正常,require('./head.inc.php')时也正常,就是require('/head.inc.php')时候发现failed to open stream: No such file or directory的错误

前面的斜杠代表的是根目录,难道我设置有误?Apache的DocumentRoot和Directory都设置成了/var/www/html,www,html和文件都设置成了rwxr-xr-x,还有其他需要设置的吗?谢谢!
------解决方案--------------------
require('/head.inc.php') 指 /var/www/html/head.inc.php 也就是php认为head.inc.php是一个在html路径下的目录,而不是一个php文件。
------解决方案--------------------
require 使用的是文件系统的路径而不是 web 的路径

------解决方案--------------------
是不是你这个网站节点的根目录没配置好!
------解决方案--------------------
引用:
谢谢changjay和xuzuning,但是dirname(__FILE__)获取的是当前文件的路径吧?我要获取根目录,例如有个子目录文件/var/www/html/report/index.php同样也要reqire根目录下的head.inc.php,如果用dirname(__FILE__)的话,就变成了require '/var/www/html/report/head.inc.php'

版主提到的是文件系统的路径,我想可能是这个原因,我试下改成/var/www/html/head.inc.php


如果有配置文件的话,可以在配置文件里先把网站根目录赋值给一个变量,然后在需要的地方使用。
------解决方案--------------------
引用:
发现还有个变量$_SERVER['DOCUMENT_ROOT'],我用这个变量替代/又可以了

就是直接用/为什么还不可以


接受傳統及大眾的做法: 使用你最早的方式 ./  除非你的是打算在命令行下執行的腳本那麽就請將路徑寫全.