我正在尝试从我的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脚本.
祝好运!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。