2012-01-07 105 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