簡體   English   中英

如何在 WebView 應用程序中本地運行 PHP 代碼?

[英]How can I run PHP Code locally within a WebView App?

所以我收到了一個嚴格限制的項目,我需要為 WebView 應用程序運行存儲在本地應用程序目錄中的 php 文件。 但是我什至不知道從哪里開始實施或整合

我在google play看到以下app,聲稱有php server、mysql等。

https://play.google.com/store/apps/details?id=com.sylkat.apache

所以我知道有可能在 android 應用程序中運行 php 文件。

我的想法是,

  • 在 webview 應用程序中擁有 php 服務器,將 php 文件添加到應用程序目錄,
  • 配置 webview 以打開以下 URL “Localhost”
  • Webview 應用程序不需要 MySQL,只需簡單的處理 php。
  • Webview 應用程序不需要擔心存儲,因為它不會保存任何存儲。

我在這個問題中不尋求什么

  • 在 Playstore 中使用其他應用程序,因為這將是一個獨立的應用程序。
  • 被指示將文件轉換為其他格式,例如 html、javascript 等。
  • 建議與問題無關的選項。

我知道 php 是服務器端代碼。

如果您希望在現代 Android 設備上運行 PHP 代碼,這是您面臨的挑戰列表。

我搜索了一些項目,發現一些項目暗示 PHP 可以在 Android 上運行

雖然我不能談論任何閉源項目,但有一些開源項目, DroidPHP和更新的MyServerlampTermux 但是需要一些歷史/背景來理解這些項目代表什么。

PHP 是用 C/C++ 編寫的。 雖然 Android 確實通過 Android NDK 支持 C/C++,但缺少的是 PHP 服務器期望在Android 不支持開箱即用的恆定功率Posix 兼容環境中運行。

第一個DroidPHP似乎被作者拋棄了,它使用Busybox ,它提供了一個 POSIX 兼容的環境,但需要超級用戶/root 權限,這需要“root”Android 設備 請注意,“生根”通常會使設備保修失效。

多年來,Android 生態系統擁有數十億用戶,提高了每個版本的安全性,減少了任何不良行為者的攻擊面。

其他兩個 github 項目使用Termux ,它提供了一個類似 POSIX 的環境,可以與 root 一起使用,並且在沒有 root 的情況下以更有限的方式使用。

嘿,聽起來不錯,所以我可以使用Termux來運行我的 PHP 代碼。

一些警告:

  1. Android 制造商已經添加了他們自己的省電處理,從而產生了一個類似的網站: https ://dontkillmyapp.com/ 如果您的應用只在前台運行,那么您可能是安全的。

  2. 來自關於 Android 12 的 Termux 存儲庫自述文件:

注意: Termux 在 Android 12 上已損壞。Android 操作系統將終止任何大於 32 的(幻像)進程(限制適用於所有應用程序的組合),並且還會終止任何使用過多 CPU 的進程。

  1. 如果您打算發布獨立應用程序,則需要托管自己的包。 來自Termux 常見問題

是的,因為 Termux 是開源的並且使用 GNU GPL v3.0 並且在某些組件中使用 Apache-2.0 許可證,所以只要滿足許可證要求,您就可以自由地重用現有組件。

但是,許可證不包括“免費”使用我們的托管功能,這在一定程度上是有限的。 您不能在自己的項目中使用我們的包存儲庫。 請自行構建包並托管它們。

開始使用開發人員 wiki 頁面上的信息: https ://github.com/termux/termux-packages/wiki。

  1. 由於增加了安全限制,Google Play 商店不再支持 Termux 因此,如果 Android 應用程序用於商業發布,那么將您的項目遷移到 Java/Kotlin 甚至 WebView 中的 JavaScript 將允許 Google Play 商店提供支持,因為Termux (及其操作要求)當前不兼容。

如果您關注嵌入的嘗試問題線程,您會看到嵌入是一個涉及的過程。

資料來源: https ://www.reddit.com/r/termux/comments/p3exkr/how_can_i_make_an_android_apk_app_based_on_termux/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM