我正在使用Instagram Private PHP Api编写php脚本。
在“ root”用户下通过SSH可以正常工作,但是当我尝试通过浏览器或cron运行它时,出现错误:警告:chmod():....中不允许的操作
我猜想权限有问题,但是我在服务器管理方面并不出色,无法理解我该怎么做=(
请帮助,如何解决此问题?
答案 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
。