使用php运行bash脚本

时间:2016-06-18 07:17:10

标签: php bash

我正在尝试使用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中打开一个新窗口。

感谢您的帮助。

1 个答案:

答案 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;);

相关问题