PHP创建文件夹,所有者为99

时间:2011-03-10 01:58:02

标签: php directory chmod chown file-ownership

我有一个脚本(作为cron运行),它在服务器上创建一个名为images的新文件夹,并将图像从根文件夹移动到这个新文件夹。稍后,另一个函数将从这些图像创建缩略图,并将它们放入同一文件夹中名为thumbs的另一个新文件夹中。

但是,此功能仅在父母images文件夹由于某些奇怪原因将所有者设置为99时才有效。该文件夹将用户作为其默认所有者。

如何让脚本创建一个拥有者设置为99的文件夹?或者是什么原因可能是PHP脚本无法将用户作为所有者的chmod-ing文件?

2 个答案:

答案 0 :(得分:2)

cron作业以nobody(UID 99)运行,因此用户必须具有相应的权限。如果您不想更改权限,则需要以不同的用户身份运行cron作业。

答案 1 :(得分:0)

显然,这取决于如何在cronjob中运行php脚本,以确定哪个所有者将被设置为新创建的文件的默认值。

首先我用过:

/usr/local/bin/php /home/username/public_html/script.php > /home/username/public_html/file.xml 2>&1

但是这会创建新文件夹,并将所有者设置为“用户名”。

而是使用curl:

/usr/bin/curl -s http://domain.com/script.php > /home/username/public_html/file.xml 2>&1

允许创建新文件/文件夹,并将所有者设置为nobody(UID 99),这又允许下一个脚本在此文件夹中创建新文件夹/文件而不会出现问题。