PHP mkdir 权限仅在计划任务中被拒绝
PHP mkdir permissione denied only with a scheduled task
$old = umask(0);
mkdir($_SERVER['DOCUMENT_ROOT'].'/images/'.$ID.'/', 0755, true);
umask($old);
运行 来自浏览器的这一行工作正常,相反,如果我 运行 通过计划任务执行此脚本,它会给出:
'mkdir(): Permission denied'.
版本 Plesk Onyx v17.0.17_build1700161028.14 os_CentOS 7
OS分OSLinux7.4.1708(核心)
nginx 1.11.10-centos7.17102311
php 5.4.16-43.el7_4
当通过浏览器执行脚本时,使用具有相应配置的域PHP 处理程序。
计划的 PHP 任务是 运行 使用系统 PHP 处理程序,因此忽略域的 PHP 配置并且 $_SERVER['DOCUMENT_ROOT']
变量不会给出相同的结果。
尝试使用 Run a command
计划任务类型,使用所需 PHP 二进制文件和相应 php.ini
的完整路径。对于 PHP 7.0 随 Plesk 和 PHP 配置 example.com
域:
/opt/plesk/php/7.0/bin/php -c /var/www/vhosts/system/example.com/etc/php.ini /path/to/script.php
相同,但系统 PHP:
/bin/php -c /var/www/vhosts/system/example.com/etc/php.ini /path/to/script.php
$old = umask(0);
mkdir($_SERVER['DOCUMENT_ROOT'].'/images/'.$ID.'/', 0755, true);
umask($old);
运行 来自浏览器的这一行工作正常,相反,如果我 运行 通过计划任务执行此脚本,它会给出:
'mkdir(): Permission denied'.
版本 Plesk Onyx v17.0.17_build1700161028.14 os_CentOS 7
OS分OSLinux7.4.1708(核心)
nginx 1.11.10-centos7.17102311
php 5.4.16-43.el7_4
当通过浏览器执行脚本时,使用具有相应配置的域PHP 处理程序。
计划的 PHP 任务是 运行 使用系统 PHP 处理程序,因此忽略域的 PHP 配置并且 $_SERVER['DOCUMENT_ROOT']
变量不会给出相同的结果。
尝试使用 Run a command
计划任务类型,使用所需 PHP 二进制文件和相应 php.ini
的完整路径。对于 PHP 7.0 随 Plesk 和 PHP 配置 example.com
域:
/opt/plesk/php/7.0/bin/php -c /var/www/vhosts/system/example.com/etc/php.ini /path/to/script.php
相同,但系统 PHP:
/bin/php -c /var/www/vhosts/system/example.com/etc/php.ini /path/to/script.php