首页  >  文章  >  后端开发  >  为什么我的 Bash 脚本不能从 PHP 执行?

为什么我的 Bash 脚本不能从 PHP 执行?

DDD
DDD原创
2024-11-04 21:00:02738浏览

Why are My Bash Scripts Not Executing from PHP?

从 PHP 执行 Bash 命令:对未执行的脚本进行故障排除

用户在从 PHP 文件执行 Bash 脚本时遇到困难。尽管尝试使用 shell_exec 和 system,该脚本仍然未执行。但是,其他命令(例如“ls”)使用 shell_exec 可以正常运行。

潜在原因和解决方案:

问题很可能源于从错误的目录执行脚本。为了解决这个问题,用户需要在执行脚本之前将当前工作目录更改为脚本所在的目录。这确保了脚本执行的正确上下文。

代码片段:

以下代码片段演示了如何正确执行 Bash 脚本:

<code class="php">$old_path = getcwd();
chdir('/my/path/'); // Change to the script's directory
$output = shell_exec('./script.sh var1 var2');
chdir($old_path); // Return to the previous working directory</code>

在此代码中,getcwd() 检索当前工作目录,chdir('/my/path/') 将工作目录设置为脚本的路径,shell_exec('./script.sh var1 var2') 执行带有给定参数的脚本,并且 chdir($old_path) 恢复到以前的工作目录。

以上是为什么我的 Bash 脚本不能从 PHP 执行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn