2013-08-21 20 views
1

所以我很抱歉,如果我搞砸了一點名字。我對Linux仍然很陌生。如何在Linux中執行終端腳本從一個PHP文件

我設置了一個無頭樹莓派網絡服務器。我在它上面安裝了TightVNC服務器,這樣我就可以遠程訪問了,但是對於我來說,當我的pi重新啓動時,我無法啓動該死的服務器。

我的工作是爲了讓我可以從網絡調用一個php腳本來執行啓動TightVNC的終端腳本。我不知道它是否被稱爲終端腳本,但在Windows中稱爲bat文件。

做php文件是否有這個權限?如果是的話,執行這個文件的php命令是什麼?

+0

爲什麼不修改你的linux啓動參數來運行'.sh'腳本來運行TightVNC服務? –

+0

@DarylGill,因爲我不知道該怎麼做。這是問題的原因。你可以發佈這個例子作爲答案? –

+0

作爲一個擁有近2k聲望的人,你應該知道這裏的問題是如何工作的...諮詢谷歌,試驗你的研究,然後在這裏發佈問題或僱傭開發人員,我不打算爲你構建整個腳本 –

回答

2

要用PHP運行shell命令,請使用shell_exec。它將以Web用戶身份運行(例如,用於Apache的www),以便用戶需要擁有適當的權限。當然,你可以使用sudo來解決這個問題 - 但這是非常不安全的,也是一個非常糟糕的主意。

所以,如果你有,例如一個shell腳本調用shellscript.sh坐在夜的服務器上,並且你寫它做任何你需要做的,你可以在PHP中運行它:

shell_exec('sh path/to/shellscript.sh') 

但是 - 我不知道我正確地理解你想要做的事情,但在我看來,這是一種拙劣的,非常低效的方式來處理事情,而且很可能有一個更平滑的解決方案。即使如此,祝你好運。

+0

謝謝你給出了一個很好的答案 –

相關問題