Shell PHP-FPM rm权限被拒绝
我有nginx+php fpm,我需要从php脚本中递归删除文件夹:Shell PHP-FPM rm权限被拒绝,shell,nginx,permissions,php,Shell,Nginx,Permissions,Php,我有nginx+php fpm,我需要从php脚本中递归删除文件夹: <?php error_reporting(E_ALL); ini_set('display_errors', '1'); ini_set('display_startup_errors', '1'); $out = shell_exec('/bin/rm -vrf /data/vmail/test'); var_dump($out); PHP-FPM在用户“nginx”下运行 NGINX在用户“NGINX”下运行
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
$out = shell_exec('/bin/rm -vrf /data/vmail/test');
var_dump($out);
- PHP-FPM在用户“nginx”下运行
- NGINX在用户“NGINX”下运行
- /数据/vmail和所有子文件夹都属于vmail:vmail(chmod 770)
# groups nginx
nginx : nginx vmail
# groups vmail
vmail : vmail nginx
解决
- 如果将I chown
发送到nginx:nginx,则其内容将变为可删除。但是/data/vmail/test
仍然不是,只要/data/vmail/test
属于vmail:vmail我想/data/vmail
- 如果I
则表示的文件夹可删除chmod-R 777/data/vmail/test&&chmod 777/data/vmail
- PHP函数
rmdir()!但是,大型文件夹的递归删除太占用资源
# groups nginx
nginx : nginx vmail
# groups vmail
vmail : vmail nginx