我制作了一个站点地图,并使用从 mysql 生成的 php 文件进行制作。我更改了主机,现在写入文件时遇到问题。我无法理解一些事情。这是我的例子:
<?php
$xml = 'bla bla xml'; //... some xml generating code
$fp = fopen($_SERVER['DOCUMENT_ROOT'].'/my_site_map.xml', 'w');
if($fp)
echo 'we opened it';
else
echo 'we failed';
$fwrite=fwrite($fp, $xml, strlen($xml));
if($fwrite==false)
echo "another fail";
fclose($fp);
echo "we done";
?>
问题是:我的文件 my_site_map.xml 的权限为 664(rw-rw-r--),如果我从浏览器打开此 php 页面,我将无法使用此脚本,所以,如果我尝试这样做,我会看到:“我们失败了又失败了”;但是如果我通过 crontab 打开它并看到一个日志文件,我可以看到:“我们打开它我们完成了”。我正是想要这个,但主要问题是文件没有被重写。为什么?我该如何解决这个问题?谢谢。
我的服务器是 nginx 而不是 Apache,没想到这个信息会有价值