我有一个脚本(作为cron运行),它在服务器上创建一个名为images
的新文件夹,并将图像从根文件夹移动到这个新文件夹。稍后,另一个函数将从这些图像创建缩略图,并将它们放入同一文件夹中名为thumbs
的另一个新文件夹中。
但是,此功能仅在父母images
文件夹由于某些奇怪原因将所有者设置为99时才有效。该文件夹将用户作为其默认所有者。
如何让脚本创建一个拥有者设置为99的文件夹?或者是什么原因可能是PHP脚本无法将用户作为所有者的chmod-ing文件?
答案 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),这又允许下一个脚本在此文件夹中创建新文件夹/文件而不会出现问题。