构建 Android 应用程序以在 Android 平板电脑上运行 PHP 和 MySQL

Posted

技术标签:

【中文标题】构建 Android 应用程序以在 Android 平板电脑上运行 PHP 和 MySQL【英文标题】:Building Android app for running PHP and MySQL on Android Tablet 【发布时间】:2013-10-02 09:52:55 【问题描述】:

我想在我的 android 设备上运行 php + mysql 服务器。人们似乎建议像KSWeb 和Bit Web 这样的应用程序。

建议的其他解决方案是我安装application that allows me to run Linux on Android。这需要 Android 设备被植根。 :(

我不想为此使用任何其他应用程序。所以我想自己构建一个类似于KSWeb的应用程序。我已经四处寻找如何开始构建这样的应用程序,但到目前为止还没有帮助。有关如何进行此操作的任何指导?

我的意思是 KSWeb 怎么可能在没有 root 的情况下构建这样的东西。 :O

任何有关如何构建此应用程序的指导都会非常有帮助。

有人告诉我要为 ARMv6 编译二进制文件,但我不知道如何开始。

NDK 对我有用吗?

请帮忙。

【问题讨论】:

【参考方案1】:

我目前正在维护free and open source web server 解决方案堆栈包,主要由 Lighttptd HTTP 服务器、MySQL 数据库、PHP 编程语言组成。它仍处于测试阶段。

它可以让你了解如何在android中开发这类东西。

是的,它的真正二进制文件必须为 ARM CPU 编译才能使文件可执行。

您可以使用 NDK,但我建议您使用 CodeSourcery 或 Linaro 等替代方案

这里有一些将 Linux 程序交叉编译到 ARM 的入门教程

ARM cross-compiling Cross compiling static C hello world

无论如何你都可以阅读这篇文章我如何为 DroidPHP 进行交叉编译

Cross Compiling for DroidPHP

【讨论】:

谢谢。这看起来与我需要的非常相似。我会研究这个并回复你。 Hey Shushant.. 你能解释一下将 PHP、MySQL 和 Apache 编译到 Android 中的步骤吗?从源代码编译看起来是一项艰巨的工作。我记得在 FreeBSD 上构建 Apache、PHP 和 MySQL,花了几个小时! :O 如果您能解释编译步骤,我会很高兴。 :D 编译 php 以及通常需要的扩展是一场噩梦,您需要单独交叉编译扩展。如果您在交叉编译方面需要帮助,请在 unix.stackexchange.com 创建一个新问题 感谢您的快速回复。我将单独了解有关交叉编译扩展的更多信息。你能和我分享一下在Android上编译PHP的一般步骤吗? Shushant.. 我不知道这是否是 DroidPHP 的错误。但是当我使用getRunningServices 时,我总是得到一个名为com.github.DroidPHP.ServerService 的服务。即使服务器没有运行,我也会得到这个。我想你需要在 btn_stopServer.setOnClickListener 中添加 stopService HomeActivity.java【参考方案2】:

如果您愿意使用 PHP/Mysql 以外的其他工具,Python 可能是一个不错的选择。您可以通过 Python 监听套接字并发送信息,这通过 SL4A 应用程序支持。

显然 CherryPy 适用于 Android:http://www.defuze.org/archives/228-running-cherrypy-on-android-with-sl4a.html

有 Django 可能还有其他,但设置起来可能更复杂。

【讨论】:

如果我要写一个新的应用程序,那我宁愿写一个原生的android应用程序,我为什么要走客户端-服务器的方式呢? :P【参考方案3】:

我是 android 新手,但听起来有些不对劲 this.php 是一种服务器端脚本语言。现在你要从热点跑到热点托管我猜是一个由 mysql 数据库支持的 Web 服务。你有静态ip吗?如果 sqlite 尚未内置到 droid 中,Mysql 是低端 dbms 的绝佳选择。就像我说我是新人,可能是我,但这听起来是错误的。 从答案中,我看到有人在谈论编译 php,这将使它不再是脚本。

【讨论】:

其实我们要在平板上运行PHP+MySQL服务器。该平板电脑一般不会连接到互联网。我使用 Soap API 在 Internet 或 LAN 上运行的当前应用程序。所以我想在平板本身配置PHP+MySQL服务器,这样就不需要在局域网上另外设置服务器了。 所有安卓都内置了sqlite。 如果您想在全球范围内访问服务器,请考虑使用动态 dns 服务,例如 freedns.afraid.org @Shushant.. 不,我不会在全球范围内访问服务器。服务器将仅用作本地主机或局域网中的最大值。【参考方案4】:

这里有一些关于在 arm6 上交叉编译 PHP、nginx、Lighttpd 的文章

交叉编译 PHP

Cross Compile PHP 5.3.3 to ARM Error while compiling PHP for ARM(不恭敬但乐于助人) starting with php cross compile Cross Compile Lighttpd + PHP + MySQL for ARM (2)(中文翻译成英文)

交叉编译LIghttpd

lighttpd cross compiling Cross compiling for ARM9 doesn't work

交叉编译 Nginx

Nginx CMake

【讨论】:

以上是关于构建 Android 应用程序以在 Android 平板电脑上运行 PHP 和 MySQL的主要内容,如果未能解决你的问题,请参考以下文章

XMPP Android - 构建客户端以在 facebook 上聊天或 facebook 聊天集成

从网站打开 GoogleMaps 应用程序以在 android 上导航

如何从服务器发送文本以在 android 的 TextView 中显示?

获取ObtainStyledAttributes以在Android的xamarin中正常工作

使用 cmake 构建工具链以针对 android 进行交叉编译

Ionic - 构建 iOS 包文件以在设备上进行测试