【问题标题】:Warning: require(file): failed to open stream警告:需要(文件):无法打开流
【发布时间】:2012-11-15 19:21:19
【问题描述】:

我已经更换了开发机器并转移到我的一个项目中。但是,当我尝试运行此项目中的某个文件时,我收到以下错误消息:

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------,对吗?

【问题讨论】:

    标签: php linux ubuntu lamp


    【解决方案1】:

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

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

    【讨论】:

    • 完成,文件存在,可能是权限?所有文件都设置为-rw-r--r--,文件夹设置为drwx------,对吗?
    • 有时 Web 服务器使用与用户不同的凭据运行。尝试将目录设置为 drwxr-x---,将文件设置为 -rw-r--r--。如果这不起作用,请尝试将目录更改为 drwxr-xr-x。
    【解决方案2】:

    您收到 Permission denied 错误,这意味着您的库文件夹只能由 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/
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多