首页 > 解决方案 > 警告:fopen(write2File.txt):无法打开流:权限被拒绝

问题描述

几个小时以来一直在尝试修复此错误。

警告:fopen(write2File.txt):无法打开流:第 3 行的 /opt/lampp/htdocs/2i/fwrite.php 中的权限被拒绝无法打开文件。

我到处寻找解决方案,包括使用“$ chmod 777”或“sudo chmod -R 777”。

但是我对 PHP 还是很陌生,而且我已经读到这两种解决方案存在安全风险,我觉得这样做并不自在,因为我的 macbook 还是新的 + 我仍然缺乏 PHP 经验。

我正在寻找更安全的解决方案。谢谢你!

标签: php

解决方案


您需要了解 Unix 世界中的权限和用户。

以安全方式解决此问题的方法将取决于所有内容的配置方式。

在你自己的电脑上,如果你只是做测试或学习,你可以将它设置为“666”而忘记它。(即:chmod 666 ...)。

777 是错误的,因为这会使文件可执行,而您不希望这样。另一方面,666 将导致 rw-rw-rw-,这意味着:任何人都可读和可写,但不可执行。

如果您将其上传到服务器,那么您可能会通过 FTP 来为您设置权限。

但是,如果您真的想了解正在发生的事情并安全地处理它,您应该找出您的 PHP 以哪个用户身份运行。它可能是 www-data 或其他用户。然后,此用户将需要对您的文件具有权限。因此,您可能会通过 chown 更改该文件的所有者和组,因此您和 PHP 都可以访问它,但其他用户不能。


推荐阅读