PHP fopen()创建一个没有修改权限的文件



从apache调用的PHP脚本执行以下命令:

$h = fopen(getcwd()."tmp.txt","w");
fprintf($h,"hi");
fclose($h);

生成一个文件,由我的个人用户id拥有644权限。但是,再次执行脚本会导致错误,因为Apache/PHP以用户wwwrun运行,因此没有覆盖文件或chmod它的权限。

文件所在的目录位于我的主目录中,并且具有777权限。我怎么能让PHP要么创建文件属于wwwrun,或创建它与666权限,或做其他事情,以允许它被PHP覆盖。

我理想地寻找一个解决方案,也适用于该文件是由PHP通过调用exec函数的外部程序创建的情况;这似乎遭受同样的问题,在外部程序运行作为wwwrun,但由外部程序创建的文件属于我的个人用户id。

结果显示,有问题的目录挂载在一个不支持linux文件权限的文件系统上。