我正在尝试使用php从html文件运行bash脚本。我已经阅读了这个问题(how to run a .sh file from php?)并完全遵循了这个问题,但似乎无法让它发挥作用。
我的mac上的下载文件夹中有两个文件。这些是文件名及其内容:
hello.sh
#! /bin/bash
echo hello world
test.php的
<?php
echo shell_exec('sh /Users/steve/downloads/hello.sh');
?>
我在下载文件夹中的命令行中运行了此命令:
php test.php
这导致在chrome中打开一个空白页面,而我期望得到一个带有“hello word”的页面。
我也想知道如何让我的PHP代码打开一个像Chrome文件一样的Chrome窗口。例如,如果我将其输入命令行:
open test.html
在运行test.html内容的chrome中打开一个新窗口。
感谢您的帮助。
答案 0 :(得分:0)
以下是如何创建名为&#34; test.php&#34;的.php文件的示例。运行名为&#34; hello.txt&#34;。
的shell脚本这是进入内部的代码&#34; test.php&#34;。您可以将此代码放在任何目录中,它应该可以正常工作。
<?php
echo shell_exec('./hello.sh');
?>
这是进入内部的代码&#34; hello.sh&#34;。您可以将此代码放在任何目录中,只要它在相同目录中为&#34; test.php&#34;。
#! /bin/bash
echo hello world
完成这两个文件后,使用命令行进入他们的目录并输入以下命令:
chmod +x hello.sh
php test.php
第一个命令(我认为)使&#34; hello.sh&#34;可从&#34; test.php&#34;访问。你只需要这样做一次。第二个命令运行test.php并且应该返回&#34; hello world&#34;。
这也可以用于shell脚本以外的程序。例如,您可以将cpp文件编译为a.out(已编译的c ++文件的默认名称),并通过替换echo shell_exec(&#39; ./ hello.sh&#39;)从php文件运行它; with echo shell_exec(&#39; ./ a.out&#39;);