这不是一个重复的问题,我阅读了所有相关问题,但未找到我的答案。
我想要包含一个存在的文件:
/var/www/html/monitor/protected/extensions/curl/curl.php
我的代码是:
include('/monitor/protected/extensions/curl/curl.php');
我收到了这个错误:
include(/var/www/html/monitor/protected/extensions/curl/curl.php): failed to open stream: Permission denied
并且该文件具有777权限。
我的问题是:
文件是否存在且具有777权限且正确chown
并且仍然会出现此错误?
更新:我曾使用过三种可能的方式:
include('/monitor/protected/extensions/curl/curl.php');
include('monitor/protected/extensions/curl/curl.php');
include('/var/www/html/monitor/protected/extensions/curl/curl.php');
我正在使用php 5.3
注意: 在同一目录中包含其他文件时,它包含没有任何问题
答案 0 :(得分:3)
我知道这已经很晚了,但我只想确认Alireza Fallah的回答。这对我也有用。看起来它必须是原始所有者。因此,在您想要使用它的同一台机器上解压缩/解压缩php文件。希望这有帮助!
答案 1 :(得分:1)
你使用了错误的路径。如果文件存在于
/var/www/html/monitor/protected/extensions/curl/curl.php
然后你应该包括那个确切的字符串。
include('/var/www/html/monitor/protected/extensions/curl/curl.php');
/
表示文件系统的根目录。您获得权限被拒绝,因为您肯定没有/
的权限且/monitor
不存在
或者您可以相对包含它。删除第一个/
即可:
include('monitor/protected/extensions/curl/curl.php');
如果正在运行的脚本也在/var/www/html
中,这将有效。
我认为你对HTTP路径和系统路径之间的差异感到困惑。 PHP文件包含在系统路径中,应该由系统路径引用。
答案 2 :(得分:0)
我删除了该文件,并再次创建,我的问题解决了。
原始文件已从互联网上下载并从压缩文件中解压缩。
我认为原始作者创建文件时出现问题。
这很奇怪!但它有效