警告:require(文件):无法打开流

时间:2012-11-15 19:21:19

标签: php linux ubuntu lamp

我已经改变了开发机器,并且已经跨越了我的一个项目。但是,当我尝试运行此项目中的一个文件时,我收到以下错误消息:

Warning: require(/var/www/libraries/facebook.php): failed to open stream: Permission denied in /var/www/logout.php on line 11 Fatal error: require(): Failed opening required '/var/www/libraries/facebook.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/logout.php on line 11

任何人都知道为什么会发生这种情况?

可能是我的权限设置不正确。文件和文件夹权限应该是什么?

所有文件目前都设置为-rw-r--r--,文件夹设置为drwx------,是吗?

3 个答案:

答案 0 :(得分:1)

有时当事情发生变化时,路径可能会发生变化。该错误表示找不到文件'/var/www/libraries/facebook.php'。确保该文件存在于该位置。

有时,Web服务器使用与用户不同的凭据运行。尝试将目录设置为drwxr-x ---,将文件设置为-rw-r - r--。如果这不起作用,请尝试将目录更改为drwxr-xr-x。

答案 1 :(得分:0)

您收到Permission denied错误,这意味着您的libraries文件夹只能由root用户访问。尝试以root用户身份执行脚本,或者为该文件夹授予读取权限。

## use only for files ##
chmod 0444 /var/www/*
chmod 0444 /var/www/*.php

要以只读模式设置目录,请输入:

## use only for dirs ##
chmod 0544 /var/www/
chmod 0444 /path/to/your/dir/

答案 2 :(得分:0)

你说权限是drwx ------。尝试以非root用户身份切换到shell中的/ var / www / libraries目录。如果您在那里收到错误,Web服务器也会。您可能需要755个权限,因此服务器可以遍历该目录。请注意该文件夹中的其他内容,因为它可以被全世界读取。