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

前端之家收集整理的这篇文章主要介绍了function.fopen:无法打开流:PHP中的权限被拒绝前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试从我的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脚本.

祝好运!

原文链接:https://www.f2er.com/linux/440236.html

猜你在找的Linux相关文章