PHP mkdir权限仅在计划任务中被拒绝

PHP mkdir权限仅在计划任务中被拒绝,php,apache,permissions,mkdir,Php,Apache,Permissions,Mkdir,从浏览器运行这行代码可以正常工作,相反,如果我通过计划任务运行此脚本,它将提供: “mkdir():权限被拒绝” 版本Plesk Onyx v17.0.17_build1700161028.14 os_CentOS 7 OS CentOS Linux 7.4.1708(核心版) nginx 1.11.10-centos7.17102311 php 5.4.16-43.el7_4通过浏览器执行脚本时,将使用具有相应配置的域php处理程序。 计划的PHP任务正在使用系统PHP处理程序运行,因此忽略域

从浏览器运行这行代码可以正常工作,相反,如果我通过计划任务运行此脚本,它将提供:

“mkdir():权限被拒绝”

版本Plesk Onyx v17.0.17_build1700161028.14 os_CentOS 7

OS CentOS Linux 7.4.1708(核心版)

nginx 1.11.10-centos7.17102311


php 5.4.16-43.el7_4

通过浏览器执行脚本时,将使用具有相应配置的域php处理程序。 计划的PHP任务正在使用系统PHP处理程序运行,因此忽略域的PHP配置,
$\u服务器['DOCUMENT\u ROOT']
变量不会给出相同的结果。 尝试使用
运行命令
计划任务类型,使用所需PHP二进制文件的完整路径和相应的
PHP.ini
。对于PHP7.0附带的Plesk和
example.com
域的PHP配置:

$old = umask(0);
mkdir($_SERVER['DOCUMENT_ROOT'].'/images/'.$ID.'/', 0755, true);
umask($old);
相同,但对于系统PHP:

/opt/plesk/php/7.0/bin/php -c /var/www/vhosts/system/example.com/etc/php.ini /path/to/script.php

在这两种情况下,此代码以什么用户的身份运行?相应路径的所有权是什么?根据echo
whoami
;它是同一个用户,所以我想它的所有权是相同的。是的,这就是问题所在。昨天,经过几个小时的努力,我终于把它修好了。。。非常感谢。
/bin/php -c /var/www/vhosts/system/example.com/etc/php.ini /path/to/script.php