2012-01-10 30 views
-1

我想在android上安裝php cgi。我已將CGI PHP二進制文件放在數據文件夾中,但這不起作用,除非我在二進制文件上將權限設置爲755。我認爲他們也必須是可執行的。有沒有辦法可以在無根設備上進行安裝?php cgi on android unrooted

我在PAW服務器上看到類似的東西。如果可能的話,我寧願這種情況發生在SD卡上。我完全失去了享受這一點,真的需要這個應用程序。我已經使用PHP的Android,我沒有意識到,這只是CLI版本。

+0

我使用droidphp,它可以在無根手機上正常工作。 – Prakhar 2013-08-20 14:21:59

回答

0

據我所知,不,那是不可能的。您需要文件的所有權,或者您需要以root身份執行chmod,並且我相信您不會將默認用戶應用運行爲。

1

對於/ sdcard,無法在無根設備上執行此操作。在任何情況下,我都看到SDCARD是vfat格式的,這意味着chmod 755並不意味着什麼,因爲vfat不支持用戶權限。除此之外,我很確定android編碼不是從/ sdcard執行。

您唯一的機會就是在應用程序空間中運行它。將二進制文件複製到Android資產文件夾中,以編程方式運行「chmod 755/data/data // mybinfile」並嘗試通過Runtime.getRuntime().exec()執行它。我已經完成了這個腳本,它會在shell腳本之前運行,但我不知道它是否可以在二進制文件上運行。但我很肯定,沒有根據,這是你唯一的選擇。

+0

嗨。感謝您的回覆。我測試過的文件只要755個權限就可以在任何目錄下工作。我只是嘗試了SD卡,顯然它不會給我這些權限。這是我可以編譯成APK的東西,而不需要讓用戶根據手機。對不起,我是java的新手。 – user1074541 2012-01-10 02:43:17

0

默認情況下,Android會阻止從sdcard執行binarys。你可以將它們包括在一個應用程序,然後使用Process對象,你甚至可以讓應用程序輸出,

ProcessBuilder pb = new ProcessBuilder(some list here with the args);

Process p = pb.start();

運行它們。