【问题标题】:fopen(dbinfo.php): failed to open stream: Permission denied Ubuntu 12.04 LTSfopen(dbinfo.php):无法打开流:权限被拒绝 Ubuntu 12.04 LTS
【发布时间】:2013-03-21 04:52:49
【问题描述】:

我正在尝试在 UBuntu 上运行一个 php 项目。它有一个创建 mysql 数据库的安装脚本。 当我尝试运行脚本时,出现以下错误:

Warning: fopen(dbinfo.php): failed to open stream: Permission denied in /opt/lampp/htdocs/project/install.php on line 12

Warning: fwrite() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/project/install.php on line 19

Warning: fclose() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/project/install.php on line 20

Warning: include(dbinfo.php): failed to open stream: No such file or directory in /opt/lampp/htdocs/project/install.php on line 21

Warning: include(): Failed opening 'dbinfo.php' for inclusion (include_path='.:/opt/lampp/lib/php') in /opt/lampp/htdocs/project/install.php on line 21

Notice: Undefined variable: host in /opt/lampp/htdocs/project/install.php on line 23

Notice: Undefined variable: user in /opt/lampp/htdocs/project/install.php on line 23

Notice: Undefined variable: password in /opt/lampp/htdocs/project/install.php on line 23

Notice: Undefined variable: database in /opt/lampp/htdocs/project/install.php on line 25

Notice: Undefined variable: database in /opt/lampp/htdocs/project/install.php on line 26
Error connecting to database.

我知道这些错误是由于权限被拒绝造成的。但我不知道如何解决这个问题。脚本似乎没有编辑或创建数据库的权限。我是 Ubuntu 新手,无法理解问题。抱歉英语不好。

【问题讨论】:

    标签: ubuntu xampp permission-denied lampp


    【解决方案1】:

    我假设您的用户可能拥有/opt/lampp 的权限,因此您可以编辑文件。但是,如果不是这种情况,您可以授予对您的用户和 apache 组的访问权限。接下来显示首先是用户,然后是组:

    sudo chown -R youruser:www-data /opt/lampp

    通过这种方式,您将所有权设置为用户,然后是组。之后,您必须授予三个组的访问权限:用户、组和其他:

    sudo chmod -R xxx /opt/lampp

    注意:最右边是指文件所有者的权限,然后是组和其他用户。

    现在,xxx 是什么意思?

    否 - 权限 - rwx

    7 - 满 - 111

    6 - 读写 - 110

    5 - 读取并执行 - 101

    4 - 只读 - 100

    3 - 写入和执行 - 011

    2 - 只写 - 010

    1 - 仅执行 - 001

    0 - 无 - 000

    或者你可以使用:

    chmod [reference][operator][mode] fileOrFolder

    其中引用为:u(ser)、g(roup)、o(thers) 和 a(ll)。

    运算符为:+(将指定模式添加到指定引用)、-(删除)和 =(指定模式必须与指定引用的模式完全相同)

    最后的模式是:r(ead), w(rite), x(execute), [X(special execute), s and t (that are not so common)]。

    希望这就是你要找的。​​p>

    【讨论】:

    • 非常感谢,自从昨晚终于奏效以来,我一直在努力解决这个问题!
    猜你喜欢
    • 2015-02-01
    • 1970-01-01
    • 2019-05-02
    • 2016-02-16
    • 1970-01-01
    • 2018-07-23
    • 2016-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多