我已经改变了开发机器,并且已经跨越了我的一个项目。但是,当我尝试运行此项目中的一个文件时,我收到以下错误消息:
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------
,是吗?
答案 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个权限,因此服务器可以遍历该目录。请注意该文件夹中的其他内容,因为它可以被全世界读取。