运行 PHP 通过 Cron 的脚本
Running PHP script via Cron
我正在编写一个 php 脚本,使用 Instagram Private PHP Api。
它在 "root" 用户下通过 SSH 工作正常,但是当我尝试通过浏览器或 cron 运行 它时,我收到错误:警告:chmod(): 操作.....
不允许
我猜是权限有问题,但我不太擅长服务器管理,不明白我能做什么=(
请帮忙,我该如何解决这个问题?
PHP 运行 的用户必须具有 chmod 给定文件或目录的权限。如果您 运行 通过 CRON 运行此脚本,则可以在 CRON 作业中将 PHP 运行 的用户设置为正确的。如果您在浏览器中访问脚本,PHP 可能 运行ning 作为 php 或 php-fpm 或网络服务器用户。
只需确保给定的文件或文件夹归 PHP 运行 的用户所有。
注意:不建议您运行此脚本作为 CRON 的 root。
因为 Apache(或您正在使用的 Web 服务器)使用不同的 Linux 用户(通常是 www-data
)执行 PHP,这显然与您的用户帐户具有不同的权限用于通过 SSH 访问。
要解决这个问题,您首先必须知道您要访问的文件夹/文件chmod()
属于谁。如果它属于 root
,则出于安全考虑,不建议通过 public 可访问的任何脚本 chmod
。
如果它属于您的用户名,比如 foo
,您可以更改您要访问的文件夹/文件的所有权 chmod()
以供 www-data
组访问在 SSH 控制台中使用 chown()
,然后你的 chmod()
命令可以毫无问题地执行。
如果您正在编辑 /etc/crontab
,请确保用户参数(一周后的那个)是 root。
如果您正在通过 crontab -e
编辑 crontab,请添加用户参数 crontab -eu root
。
我正在编写一个 php 脚本,使用 Instagram Private PHP Api。
它在 "root" 用户下通过 SSH 工作正常,但是当我尝试通过浏览器或 cron 运行 它时,我收到错误:警告:chmod(): 操作.....
不允许我猜是权限有问题,但我不太擅长服务器管理,不明白我能做什么=(
请帮忙,我该如何解决这个问题?
PHP 运行 的用户必须具有 chmod 给定文件或目录的权限。如果您 运行 通过 CRON 运行此脚本,则可以在 CRON 作业中将 PHP 运行 的用户设置为正确的。如果您在浏览器中访问脚本,PHP 可能 运行ning 作为 php 或 php-fpm 或网络服务器用户。
只需确保给定的文件或文件夹归 PHP 运行 的用户所有。
注意:不建议您运行此脚本作为 CRON 的 root。
因为 Apache(或您正在使用的 Web 服务器)使用不同的 Linux 用户(通常是 www-data
)执行 PHP,这显然与您的用户帐户具有不同的权限用于通过 SSH 访问。
要解决这个问题,您首先必须知道您要访问的文件夹/文件chmod()
属于谁。如果它属于 root
,则出于安全考虑,不建议通过 public 可访问的任何脚本 chmod
。
如果它属于您的用户名,比如 foo
,您可以更改您要访问的文件夹/文件的所有权 chmod()
以供 www-data
组访问在 SSH 控制台中使用 chown()
,然后你的 chmod()
命令可以毫无问题地执行。
如果您正在编辑 /etc/crontab
,请确保用户参数(一周后的那个)是 root。
如果您正在通过 crontab -e
编辑 crontab,请添加用户参数 crontab -eu root
。