我正在尝试使用 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 , exec , passthru和其他人。
关于php - 如何从 php 运行 .sh 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7397672/