首页  >  文章  >  后端开发  >  如何从 PHP 执行 Bash 脚本并避免工作目录问题?

如何从 PHP 执行 Bash 脚本并避免工作目录问题?

Susan Sarandon
Susan Sarandon原创
2024-11-04 02:35:30450浏览

How to Execute Bash Scripts from PHP and Avoid Working Directory Issues?

从 PHP 执行 Bash 命令

尝试使用 shell_exec 函数从 PHP 执行 bash 脚本时,遇到问题可能会令人沮丧。虽然像 ls 这样的命令可以正常运行,但执行自定义脚本可能会失败。

此问题通常由 PHP 的当前工作目录引起。调用外部命令时,确保可以从正确的目录访问正在执行的脚本至关重要。

解决方案

要解决此问题,请使用 chdir 函数更改执行脚本之前的临时工作目录:

<code class="php">$old_path = getcwd();
chdir('/my/path/');
$output = shell_exec('./script.sh var1 var2');
chdir($old_path);</code>

此技术可确保脚本在调用 shell 命令之前“位于”预期目录中。脚本的路径可以在 chdir 函数调用中指定。脚本执行完成后,使用 chdir($old_path) 恢复原始工作目录。

以上是如何从 PHP 执行 Bash 脚本并避免工作目录问题?的详细内容。更多信息请关注PHP中文网其他相关文章!

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