php上的shell_exec

php上的shell_exec,php,unix,Php,Unix,我正在使用shell_exec命令向我的学校unix服务器发送命令。我可以做像ls echo之类的事情,但是任何与创建或删除文件有关的事情都不起作用。我想我可以为我想要执行的命令创建一个脚本,并使用shell_exec运行该脚本,但是这是一个非常繁琐的过程,有其他方法解决这个问题吗 谢谢,听起来像是权限问题。在PHP中运行whoami,查看它是作为什么用户运行的。如果你的学校也在使用类似SELinux的东西,那么除了用户/组/模式设置的限制之外,还有额外的过程限制。但这是一个起点。shell_e

我正在使用shell_exec命令向我的学校unix服务器发送命令。我可以做像ls echo之类的事情,但是任何与创建或删除文件有关的事情都不起作用。我想我可以为我想要执行的命令创建一个脚本,并使用shell_exec运行该脚本,但是这是一个非常繁琐的过程,有其他方法解决这个问题吗


谢谢,

听起来像是权限问题。在PHP中运行
whoami
,查看它是作为什么用户运行的。如果你的学校也在使用类似SELinux的东西,那么除了用户/组/模式设置的限制之外,还有额外的过程限制。但这是一个起点。

shell_exec()
是一种非常糟糕的执行命令的方式,因为如果有人利用您的PHP代码或设法上载PHP文件,那么让服务器处于打开状态,您的服务器将更加容易受到攻击。相反,如果可以,您应该使用PHP函数,如
mkdir()
fopen($file'(r | a | w)+
,以便在文件不存在时创建文件。事实上,将
shell\u exec()
exec()
pass\u thru()
等保留在代码中,任何漏洞攻击都可以在服务器上执行shell命令

现在,关于最初的问题,您是否检查了您尝试使用的文件和目录的权限?运行PHP的用户需要有权限才能使用您试图访问的文件和目录。如果您不确定,只需
chmod777
您需要在PHP中使用的任何文件和目录即可