Php 无法包含现有文件-无法打开流:权限被拒绝
这不是一个重复的问题,我阅读了所有相关的问题,没有找到我的答案。 我想包括一个存在的文件:Php 无法包含现有文件-无法打开流:权限被拒绝,php,include,Php,Include,这不是一个重复的问题,我阅读了所有相关的问题,没有找到我的答案。 我想包括一个存在的文件: /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):无法打开流:权限被拒
/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):无法打开流:权限被拒绝
该文件拥有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')代码>
我使用PHP5.3
注意:当在同一目录中包含另一个文件时,它会毫无问题地包含您使用的路径错误的文件。如果文件存在于
/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文件包含在系统路径中,应该由系统路径引用。您使用了错误的路径。如果文件存在于
/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文件包含在系统路径中,应该由系统路径引用。我删除了该文件,然后重新创建,我的问题得到了解决
原始文件是从internet下载的,并从压缩文件中解压缩
我认为由原始作者创建文件时存在问题
这很奇怪!但是它起作用了我删除了文件,重新创建,我的问题解决了
原始文件是从internet下载的,并从压缩文件中解压缩
我认为由原始作者创建文件时存在问题
这很奇怪!但是成功了我知道现在已经晚了,但我只想确认Alireza Fallah的答案。这对我也很有用。看起来它一定是原来的主人。因此,在您想要在其上使用的同一台机器上解压/解压php文件。希望这有帮助 我知道现在已经晚了,但我只想确认Alireza Fallah的答案。这对我也很有用。看起来它一定是原来的主人。因此,在您想要在其上使用的同一台机器上解压/解压php文件。希望这有帮助 目录上的权限是什么?my html及其所有子目录都有777权限请尝试相对路径<代码>包含('monitor/protected/extensions/curl/curl.php')
或包含('../monitor/protected/extensions/curl/curl.php')代码>取决于起始文件夹的位置。顺便说一句,0777
不是最安全的权限。如果尝试使用0755
或0644
-0777
是最后的选择。我知道,我处于生产模式,目录的权限是什么?我的html及其所有子目录都有777权限,请改为尝试相对路径<代码>包含('monitor/protected/extensions/curl/curl.php')
或包含('../monitor/protected/extensions/curl/curl.php')代码>取决于起始文件夹的位置。顺便说一句,0777
不是最安全的权限。如果尝试使用0755
或0644
--0777
是最后的选择。我知道,我处于生产模式,我相信OP已经尝试了include('/monitor/protected/extensions/curl/curl.php')我刚刚发布了他发布的内容。我也提到了使用相对路径。顺便说一句,我没有投反对票。(我从不投反对票)这不是我的风格,不完全清楚。我试图说明他为什么做得不对。编辑以澄清。/
从/var/www/html
开始。你错了。顺便说一下,我测试了相对路径,正如我在评论中提到的,我相信OP已经尝试了include('/monitor/protected/extensions/curl/curl.php')我刚刚发布了他发布的内容。我也提到了使用相对路径。顺便说一句,我没有投反对票。(我从不投反对票)这不是我的风格,不完全清楚。我试图说明他为什么做得不对。编辑以澄清。/
从/var/www/html
开始。你错了。顺便说一句,我测试了相对路径,正如我在commentsNope中提到的——不是为我——相同的错误——访问文件和common.php都有相同的所有者(me)和详细信息。另外,在服务器上解压。其他任何人都可以使用。不,不是我,是同一个错误。访问文件和common.php都有相同的所有者(我)和详细信息。还有,在发球时拉开拉链