请问require根目录以外的php文件为何出错?
我的网站root指向/home/vhosts/sitename/public_html,里面有一个文件index.php;程序文件则在同级文件夹/home/vhosts/sitename/source里,在index.php中执行:require_once '/home/vhosts/sitename/source/library/xxx.php';程序在本地apache服务器上测试通过,但部署到nginx服务器下时,却报错说xxx.php文件不存在:failed to open stream: No such file or directory in /home/vhosts/sitename/public_html/index.php on line 23我把全部文件chown为www:www,chmod为777,情况还是如此,请问如何解决?
我的网站用的是lnmp一键安装包,配置除了root之外基本没有改动过。
[ 本帖最后由 slime09 于 2012-5-16 19:45 编辑 ] root都指向/home/vhosts/sitename/public_html 这个就相当于锁这里面了,肯定没法你想越界访问就越界访问 谢谢,apache的设置里,有一个更高一层的根目录的权限设置,我猜nginx里应该也有,因为zend framework和codeigniter等几乎所有php框架都采用这种目录架构方式,但是我竟然没能在google里搜索到任何此类问题,我不知道是我搜索的关键词不合适,还是别人可以很轻松的解决这个问题,或者原生的nginx单独安装,设置本身就可以支持? 刚刚搜到一个帖子真的让我很无语:
http://www.lamppr.com/node/641
这上面说的情况和我遇到的刚刚相反,作者根本就想不出办法来把用户权限锁到文件夹内部。很明显,是lnmp的作者做到了这一点,所以我才没有办法访问。那么请问,这个修改是在哪里实现的呢?我应该怎么才能把它改变回来呢? 啊,军哥是lnmp安装包的作者本人吗?请无论如何指导一下吧,谢谢啦。 系统重装,然后就好了,真奇怪。
页:
[1]