如何从php运行.sh文件?
2022-08-31 00:48:57
我正在尝试使用php运行shell脚本
shell 脚本 ( /home/scripts/fix-perm.sh ) 位于同一服务器中
这是我正在尝试的代码
<?php
echo shell_exec('/home/scripts/fix-perm.sh');
?>
上面的代码不起作用
我正在使用linux服务器
任何人都可以帮我吗?
我正在尝试使用php运行shell脚本
shell 脚本 ( /home/scripts/fix-perm.sh ) 位于同一服务器中
这是我正在尝试的代码
<?php
echo shell_exec('/home/scripts/fix-perm.sh');
?>
上面的代码不起作用
我正在使用linux服务器
任何人都可以帮我吗?
Shell exec 采用一个字符串,该字符串需要成为实际的命令。您现在正在向它传递文件路径。这不会解释为“在此路径上执行文件”。你可以做几件事。
您需要做的是使用程序调用文件。按照评论中的建议用bash或sh来称呼它:
echo shell_exec('sh /home/scripts/fix-perm.sh');
另一个选项可能是:
$contents = file_get_contents('/home/scripts/fix-perm.sh');
echo shell_exec($contents);
但是,我认为第一种选择会更好。
请务必注意,用于执行外部程序的所有命令都需要实际的命令,而不是文件路径或其他命令。这适用于shell_exec,执行,passthru和其他人。
我不确定,但你可以尝试在服务器上使用,然后尝试...chmod +x /home/scripts/fix-perm.sh