通过Cron运行PHP脚本

时间:2019-03-01 02:18:22

标签: php api cron instagram

我正在使用Instagram Private PHP Api编写php脚本。

在“ root”用户下通过SSH可以正常工作,但是当我尝试通过浏览器或cron运行它时,出现错误:警告:chmod():....中不允许的操作

我猜想权限有问题,但是我在服务器管理方面并不出色,无法理解我该怎么做=(

请帮助,如何解决此问题?

3 个答案:

答案 0 :(得分:0)

运行PHP的用户必须具有chmod给定文件或目录的权限。如果通过CRON运行此脚本,则可以在CRON作业中将PHP运行的用户设置为正确运行。如果您正在浏览器中访问脚本,则PHP可能以php或php-fpm或Web服务器用户身份运行。

只需确保给定文件或文件夹归PHP运行时的用户所有。

注意:建议以root身份在CRON中运行此脚本。

答案 1 :(得分:0)

因为Apache(或您正在使用的Web服务器)使用不同的Linux用户(通常为www-data)执行PHP,因此该用户显然具有与您通过SSH访问所使用的用户帐户不同的权限。

要解决此问题,您首先必须知道要chmod()进入的文件夹/文件属于谁。如果它属于root,则出于安全方面的考虑,不建议通过公共可访问的任何脚本来chmod

如果它属于您的用户名,例如foo,则可以更改要转到chmod()的文件夹/文件的所有权,以使www-data组可以使用{ {1}},然后执行chown()命令就可以了。

答案 2 :(得分:-1)

如果您正在编辑 # docker inspect 5791b95933ef |grep -i user ,请确保用户参数(一个星期后)是 root

如果要通过/etc/crontab编辑crontab,请添加用户参数crontab -e