我有一个脚本(作为 cron 运行),它创建一个images
在服务器上调用的新文件夹,并将图像从根文件夹移动到这个新文件夹。稍后,另一个函数将从这些图像创建缩略图,并将它们放入thumbs
同一文件夹内命名的另一个新文件夹中。
但是,此功能仅在父images
文件夹出于某种奇怪原因将所有者设置为 99 时才有效。该文件夹将用户作为其默认所有者。
如何让脚本创建所有者设置为 99 的文件夹?或者 PHP 脚本无法对拥有用户为所有者的文件进行 chmod 操作的原因是什么?
我有一个脚本(作为 cron 运行),它创建一个images
在服务器上调用的新文件夹,并将图像从根文件夹移动到这个新文件夹。稍后,另一个函数将从这些图像创建缩略图,并将它们放入thumbs
同一文件夹内命名的另一个新文件夹中。
但是,此功能仅在父images
文件夹出于某种奇怪原因将所有者设置为 99 时才有效。该文件夹将用户作为其默认所有者。
如何让脚本创建所有者设置为 99 的文件夹?或者 PHP 脚本无法对拥有用户为所有者的文件进行 chmod 操作的原因是什么?
cron 作业以nobody
(UID 99) 运行,因此用户必须具有适当的权限。如果您不想更改权限,则需要让 cron 作业以其他用户身份运行。
显然,这取决于 php 脚本在 cronjob 中的运行方式,以确定哪个所有者将被设置为新创建文件的默认值。
首先我使用:
/usr/local/bin/php /home/username/public_html/script.php > /home/username/public_html/file.xml 2>&1
但这创建了所有者设置为“用户名”的新文件夹。
而是使用卷曲:
/usr/bin/curl -s http://domain.com/script.php > /home/username/public_html/file.xml 2>&1
允许在所有者设置为nobody
(UID 99) 的情况下创建新文件/文件夹,这反过来又允许下一个脚本在此文件夹内创建新文件夹/文件而不会出现问题。