Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法包含现有文件-无法打开流:权限被拒绝_Php_Include - Fatal编程技术网

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都有相同的所有者(我)和详细信息。还有,在发球时拉开拉链