fopen(dbinfo.php):无法打开流:权限被拒绝 Ubuntu 12.04 LTS
Posted
技术标签:
【中文标题】fopen(dbinfo.php):无法打开流:权限被拒绝 Ubuntu 12.04 LTS【英文标题】:fopen(dbinfo.php): failed to open stream: Permission denied 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 新手,无法理解问题。抱歉英语不好。
【问题讨论】:
【参考方案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>
【讨论】:
非常感谢,自从昨晚终于奏效以来,我一直在努力解决这个问题!以上是关于fopen(dbinfo.php):无法打开流:权限被拒绝 Ubuntu 12.04 LTS的主要内容,如果未能解决你的问题,请参考以下文章
fopen:无法打开流:Mac上的PHP中的权限被拒绝[重复]