2012-01-07 102 views
0

是否可以整合两者?将Bash与PHP集成

我在网上找到了这个例子,但是它输出一个空白页。 bash独立运行并输出Hello World!

庆典与0777搭配chmod echo.txt

#!/bin/bash 
    echo "Hello World!" 

PHP

<?php 
$result=shell_exec("echo.txt"); 
echo($result); 
?> 
+2

这bash脚本有语法错误。你有尝试过自己运行吗? – 2012-01-07 18:10:18

+0

缺少shell脚本中的结束语引用... – 2012-01-07 18:10:44

+0

当然,我试过了。空白页。该bash是好的,只是没有复制/过去的“... – 2012-01-07 18:11:35

回答

2

指定要echo.txt的路径,相对于PHP脚本或绝对路径,并确保脚本可执行文件。

$ chmod +x echo.txt 

<?php 
$result=shell_exec("./echo.txt"); 
echo($result); 
?> 

如果不指定相对路径,并从所述命令行运行的PHP中,输出是

sh: echo.txt: command not found 

它将与指定的路径正常工作。

+0

谢谢。./是缺少的部分 – 2012-01-07 18:36:08

1

您也可以使用反引号与PHP执行的bash脚本直接在PHP

<?php 
echo 'this is a php page.'; 
echo `echo "Hello World!"`; 
+1

伟大的,但并不解决问题 – 2012-01-07 18:19:12

+0

很高兴知道,谢谢。 – 2012-01-07 18:39:37

-1

确保用户WWW的数据或任何用户PHP使用有权限来执行该脚本。

在UNIX

chgrp www-data echo.txt 
chmod 774 echo.txt 
+0

他说'777 chmod',可能表明在脚本文件上有一个'0777'的许可 – 2012-01-07 18:19:27

+0

正如Michael在他的回答中指出的那样,在你的前面需要“./”路径 – Uboonto 2012-01-07 18:20:44

+0

所以基本上你什么都没有添加! – 2012-01-07 18:21:12