加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

function.fopen:无法打开流:PHP中的权限被拒绝

发布时间:2020-12-13 19:03:11 所属栏目:Linux 来源:网络整理
导读:我正在尝试从我的PHP应用程序为我的网站创建XML站点地图.我们的想法是创建一个新文件或覆盖现有文件.当我调用fopen时,我收到以下错误: [function.fopen]: failed to open stream: Permission denied 我正在尝试写入webroot,其权限是:755.这意味着所有者拥

我正在尝试从我的PHP应用程序为我的网站创建XML站点地图.我们的想法是创建一个新文件或覆盖现有文件.当我调用fopen时,我收到以下错误:

[function.fopen]: failed to open stream: Permission denied

我正在尝试写入webroot,其权限是:755.这意味着所有者拥有写入权限,对吧?我需要做什么才能使我的脚本能够写入此文件夹? 777会是一件坏事,对吗?我能以某种方式运行我的脚本作为所有者吗?

谢谢.

最佳答案
是的,正如你所说,使用777可能是一个巨大的错误. Web服务器不会与您用于创建文件和文件夹的用户一起运行.

你有一些选择:

>使用具有写入权限的用户(除了apache用户之外),将站点地图创建作为cronjob运行.
>将站点地图放在另一个目录中,然后设置302重定向或符号链接.在这种情况下,如果您遇到安全问题让某人编写您的sitemap.xml,至少他们将无法创建具有更危险扩展名的其他文件(如PHP,这可能会导致网站入侵).
>制作重写规则,将任何匹配重定向到sitemap.xml,再输出到输出相应XML的php脚本.

祝好运!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读