PHP警告:未知:无法打开流

Bib*_*ath 67 php apache

我最近编辑了apache httpd.conf文件,以便mod_rewrite工作.我不知道这个问题是否源于此问题,但我从那天起就遇到了这个问题.
这是我在运行软件时在前端看到的 -

服务器错误网站在检索http:// localhost/prestashop /时遇到错误 .它可能已关闭以进行维护或配置不正确.

没有特定文件可以触发此操作.但是我看到通常由4-5个php文件组成的小程序运行正常,但是包含大量文件的软件(如PrestaShop)却没有.
我检查了日志,这就是我找到的.

[Wed Mar 16 19:33:39 2011] [error] [client ::1] PHP Warning:  Unknown: failed to open stream: Permission denied in Unknown on line 0
[Wed Mar 16 19:33:39 2011] [error] [client ::1] PHP Fatal error:  Unknown: Failed opening required '/var/www/html/yomig/index.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0
[Wed Mar 16 19:33:39 2011] [error] [client ::1] File does not exist: /var/www/html/favicon.ico
[Wed Mar 16 19:33:41 2011] [error] [client ::1] PHP Warning:  Unknown: failed to open stream: Permission denied in Unknown on line 0
[Wed Mar 16 19:33:41 2011] [error] [client ::1] PHP Fatal error:  Unknown: Failed opening required '/var/www/html/yomig/index.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)

Joh*_*lia 135

经验相同的错误,对我而言是因为在我的Mac上我将DocumentRoot更改为我的用户站点目录.

为了解决这个问题,我运行了recursive命令以确保Apache服务具有读取权限.

sudo chmod -R 755 ~/Sites
Run Code Online (Sandbox Code Playgroud)

  • `755` 完全是过度的,并且可以说是不安全的:您不希望每个目录都是世界可读的,并且为每个文件授予执行权限是矫枉过正的。就您的确切错误消息而言,您只需要`chmod 644 /var/www/html/yomig/index.php`。有关正确/安全的递归命令,请参阅@Dexter的答案:/sf/answers/1884298391/ (2认同)

jam*_*mie 31

如果您正在运行Fedora,请确保SELinux没有干扰.您可以使用以下命令解决此问题:

    sudo /sbin/restorecon -R /var/www/. 
Run Code Online (Sandbox Code Playgroud)

更多信息:linuxquestions.org/questions/linux-server-73/


Mul*_*ins 8

我有同样的错误,我的问题是文件权限不正确.

chmod 755 index.php
Run Code Online (Sandbox Code Playgroud)

为我工作.


小智 6

这是一个 SELinux 阻塞问题,Linux 阻止了 httpd 访问。这是解决方案吗?

# restorecon '/var/www/html/wiki/index.php'
# restorecon -R '/var/www/html/wiki/index.php'
# /sbin/restorecon '/var/www/html/wiki/index.php'
Run Code Online (Sandbox Code Playgroud)


小智 5

这里有一些指导如何修复它。去 :

cd /var/www

sudo chown www-data:www-data * -R

sudo usermod -a -G www-data username
Run Code Online (Sandbox Code Playgroud)

使用您的用户名更改用户名。我希望它有所帮助。