2013-01-08 46 views
-1

我想從Unix的服務器上的PHP的exec()函數中運行一個打包在tar.gz中的linux應用程序。爲了做到這一點,我需要怎樣設置?如何用PHP運行linux二進制文件?

+0

'exec('tar -xzf /path/to/file.tar.gz && chmod 755 ./local/path/to/binary && ./local/path/to/binary && rm ./local/path/to/binary');' – DaveRandom

+0

您需要確定二進制文件適用於您正在運行的體系結構。如果它已在本地Linux機器上編譯並且您想在共享服務器上運行它,則它不太可能工作,因爲體系結構不匹配。但是,嘗試無損! – halfer

+0

我下載了x86的二進制文件,在我的服務器上工作得很好,幸運的是我! :) –

回答

0

首先你需要將tar.gz解壓縮到一個目錄。你可以用exec(gunzip ...)和/或exec(tar xvf ..)來做到這一點。一旦你將軟件包解壓縮到一個目錄中,你可以用exec()函數運行這個二進制文件。它真的取決於二​​進制文件以及用於運行php的用戶的權限。更多信息請看看php手冊:http://ch1.php.net/manual/de/function.exec.php

+0

謝謝你的回答。作爲一個Linux經驗不多的人,我希望可執行文件具有特定的擴展名,就像在Windows/OSX中一樣,並且看到gzip中的文件沒有擴展名難倒了我 –

相關問題