我必须使用rm删除服务器上的各种文件。 我尝试使用:
shell_exec(escapeshellarg(escapeshellcmd("rm -f ./io_cache/".$prob_id."/*")))
其中$ prob_id是一个数字以及目录的名称。像ifconfig这样的命令工作正常。当与exec使用相同的命令时,它返回错误代码127.如果我使用变体:
exec("rm ".escapeshellarg(escapeshellcmd("-f ./io_cache/".$prob_id."/*")),$out,$ret)
然后它返回错误代码1. shell_exec("pwd")
返回/opt/lampp/htdocs/mat
,目录io_cache出现在mat中。
我也尝试使用python脚本完成这项工作。当我调用没有系统参数的python脚本并删除一些随机文件时,脚本运行正常。但是当我使用类似的东西时:
shell_exec(escapeshellarg(escapeshellcmd('./rem.py ').$prob_id))
要从哪里删除文件传递目录,那么也没有任何反应。 rem.py在垫子里。
我正在使用Ubuntu并使用apache web服务器