搜索
首页后端开发php教程Android Elephpant-您的Android手机上的Laravel?

在Android设备上使用Termux构建PHP开发环境:一个移动开发指南

The Android Elephpant - Laravel on your Android Phone?

核心要点

  • 利用强大的终端模拟器和Linux软件包集合Termux,可在Android设备上搭建PHP开发环境。
  • 在Android上运行Laravel需要安装PHP、Git和Composer等软件包,并使用简单的phpinfo()测试验证PHP安装。
  • Android设备的数据持久化可通过轻量级的无服务器文件型数据库引擎SQLite实现,非常适合存储少量数据。
  • 虽然Android设备无法运行复杂的测试套件或MySQL,但此设置对于小型开发任务或紧急修复非常有用,允许随时随地进行PHP开发而无需携带笔记本电脑。

不久前,Christopher Pitt撰写了一篇优秀的文章,介绍如何在iPad上编写和运行PHP代码。读完后,我心想:“在Android上做同样的事情也很酷”,例如,可以在旅途中随时编写和编辑代码,而无需随身携带笔记本电脑。因此,我决定进行一些研究,看看我能想出什么。

The Android Elephpant - Laravel on your Android Phone?

本教程适用于任何类型的Android设备。我在手机上完成了这项工作,但配备蓝牙键盘的Android平板电脑可能是理想的设置。

Android上有一些不同的shell应用程序。本教程将使用名为Termux的应用程序。

The Android Elephpant - Laravel on your Android Phone?

Termux结合了强大的终端仿真和广泛的Linux软件包集合。它也是完全免费且易于使用的。

从Play商店安装Termux后,首先要运行apt update命令。根据文档:“此命令需要在安装后立即运行,之后定期运行以接收更新。”

现在是令人兴奋的部分。我想讨论的最初两个命令是apt listapt list --installed命令。第一个命令将列出Termux可用的所有软件包。我们可以看到它支持许多不同的编程语言、文本编辑器,并具有一些有用的实用程序包,例如zip、tar等等。第二个命令将列出所有已安装的软件包。我们可以看到Termux已经预安装了一些软件包,例如apt和bash。

我在测试Termux时的目标是查看我是否可以组装一个合适的*PHP开发环境,所以我首先安装了一个文本编辑器。我更喜欢Vim,但还有一些其他选项可用,例如Emacs和Nano。Vim的学习曲线有点陡峭,但是一旦你掌握了它的基础知识,就会变得非常舒适。你可以使用apt install vim命令获得Vim。

如果你想了解更多关于vim的信息,这里有一篇非常好的文章,或者,安装后,键入vimtutor以使用内置教程。

如果你在Android手机上测试这个,运行vim会带来第一组问题。我该如何按下Escape键?Termux有一个大型快捷键列表,可用于模拟Android键盘上不可用的按钮:

命令
Volume Up E Escape键
Volume Up T Tab键
Volume Up 1 F1 (Volume Up 2 → F2,以此类推)
Volume Up 0 F10
Volume Up B Alt B (使用readline时向后一个单词)
Volume Up F Alt F (使用readline时向前一个单词)
Volume Up X Alt X
Volume Up W 上箭头键
Volume Up A 左箭头键
Volume Up S 下箭头键
Volume Up D 右箭头键
Volume Up L | (管道字符)
Volume Up U _ (下划线)
Volume Up P Page Up
Volume Up N Page Down
Volume Up . Ctrl (SIGQUIT)
Volume Up V 显示音量控制

现在我们的编辑器已经启动并运行,是时候安装我们需要的软件包了:PHP、Git和Composer。

apt install php
apt install git

这将安装最新的PHP和Git软件包。

The Android Elephpant - Laravel on your Android Phone?

对于Composer,我们需要做一些额外的工作。我们需要转到Composer下载页面并使用命令行安装说明:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

这将下载安装程序、验证它、运行它并删除它。如果一切顺利,我们应该能够从Termux运行Composer。

The Android Elephpant - Laravel on your Android Phone?

现在我们已经安装了所有工具,我们应该测试我们的PHP安装是否正确运行。为此,让我们进行一个简单的phpinfo()测试。让我们创建一个新文件夹并测试我们的PHP安装。

mkdir test
cd test
echo "<?php phpinfo();" ?> > index.php
php -S localhost:8080

这将创建一个新文件夹,然后在其中创建一个包含phpinfo()命令的index.php文件。我直接将其回显到文件中,但你可以使用Vim来完成它。最后,我们使用PHP服务器将其提供给我们的localhost。当在浏览器中访问localhost:8080时,我们应该看到类似这样的内容:

The Android Elephpant - Laravel on your Android Phone?

我们现在拥有用于依赖项管理的Composer和用于版本控制的git。但是我知道你在想什么:“我们刚刚进行了一个简单的phpinfo测试,其余的呢?”

我们可以在Android设备上安装Laravel吗?

此时,我们拥有在Android设备上安装和运行Laravel所需的一切。要创建一个新的Laravel项目,我们需要运行以下命令:

php composer.phar create-project --prefer-dist laravel/laravel new_project

这将在new_project文件夹中创建一个新的Laravel项目。--prefer-dist选项在此处有很好的文档说明。安装可能需要一段时间。完成后,我们可以使用Laravel自己的Artisan命令行界面运行我们新创建的项目。在new_project文件夹内,我们可以运行以下命令:

php artisan serve

在浏览器中访问localhost:8000 URL应该现在显示Laravel的首页。

The Android Elephpant - Laravel on your Android Phone?

成功!我们的Laravel安装已完成。我们已成功安装了编写和执行代码所需的工具。但是,如果没有持久化数据的方法,任何开发环境都不完整。

对于Android设备,大多数情况下,内存和存储容量都是实际问题。因此,Termux仅提供SQLite作为持久化数据的方法。SQLite是一个无服务器的文件型数据库引擎。它很轻量级,非常适合少量数据,正如你在这里和这篇超越基础知识的文章中所读到的那样。首先,我们需要安装它。

apt install php
apt install git

接下来,我们需要配置我们的Laravel项目以使用SQLite。在项目的根目录中,我们有一个.env文件。这是环境配置文件,是我们需要编辑的第一个文件。使用你选择的编辑器来编辑以下几行:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

然后转到config/database.php文件并将以下行从:

mkdir test
cd test
echo "<?php phpinfo();" ?> > index.php
php -S localhost:8080

更改为:

php composer.phar create-project --prefer-dist laravel/laravel new_project

这将使SQLite成为connections数组中的默认连接。 确保database.sqlite文件路径正确指向你的数据库文件。

database.sqlite文件尚不存在,因此我们需要创建它:

php artisan serve

这是我们需要告诉Laravel使用SQLite的所有配置——我们现在可以测试它了。我们将使用Laravel预构建的身份验证系统。要创建脚手架,我们需要运行以下命令:

apt install sqlite

之后,我们将运行迁移以构建我们的数据库模式。这将创建userspassword_reset表。

<code>DB_CONNECTION=sqlite
DB_DATABASE=homestead  # 或者更改为你的数据库名称</code>

如果我们再次运行php artisan serve,我们将看到现在可以选择注册和登录。我们的身份验证CRUD已成功创建!

The Android Elephpant - Laravel on your Android Phone?

结论

我在我的Android手机上完成了所有这些操作。此设置非常适合小型开发任务,因为它拥有开始在较小设备上进行开发所需的所有工具,无需随身携带笔记本电脑。

虽然它并非生产力的巅峰之作,但在需要紧急修复或想要查看可以从Android设备中榨取多少PHP性能时,它很容易派上用场。

尝试一下并告诉我们你的想法,如果你在Android上用PHP构建了一些有趣的东西,请向我们推销你的概念,我们将撰写关于它的文章!


*“合适”指针对上下文的合适。Android手机不会运行MySQL,也无法运行复杂的测试套件,尤其是端到端测试,但其他一些东西可能运行得足够好,可以完成一些工作。

(FAQs部分略去,因为与伪原创目标不符,且篇幅过长。)

以上是Android Elephpant-您的Android手机上的Laravel?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
解释负载平衡如何影响会话管理以及如何解决。解释负载平衡如何影响会话管理以及如何解决。Apr 29, 2025 am 12:42 AM

负载均衡会影响会话管理,但可以通过会话复制、会话粘性和集中式会话存储解决。1.会话复制在服务器间复制会话数据。2.会话粘性将用户请求定向到同一服务器。3.集中式会话存储使用独立服务器如Redis存储会话数据,确保数据共享。

说明会话锁定的概念。说明会话锁定的概念。Apr 29, 2025 am 12:39 AM

Sessionlockingisatechniqueusedtoensureauser'ssessionremainsexclusivetooneuseratatime.Itiscrucialforpreventingdatacorruptionandsecuritybreachesinmulti-userapplications.Sessionlockingisimplementedusingserver-sidelockingmechanisms,suchasReentrantLockinJ

有其他PHP会议的选择吗?有其他PHP会议的选择吗?Apr 29, 2025 am 12:36 AM

PHP会话的替代方案包括Cookies、Token-basedAuthentication、Database-basedSessions和Redis/Memcached。1.Cookies通过在客户端存储数据来管理会话,简单但安全性低。2.Token-basedAuthentication使用令牌验证用户,安全性高但需额外逻辑。3.Database-basedSessions将数据存储在数据库中,扩展性好但可能影响性能。4.Redis/Memcached使用分布式缓存提高性能和扩展性,但需额外配

在PHP的上下文中定义'会话劫持”一词。在PHP的上下文中定义'会话劫持”一词。Apr 29, 2025 am 12:33 AM

Sessionhijacking是指攻击者通过获取用户的sessionID来冒充用户。防范方法包括:1)使用HTTPS加密通信;2)验证sessionID的来源;3)使用安全的sessionID生成算法;4)定期更新sessionID。

PHP的完整形式是什么?PHP的完整形式是什么?Apr 28, 2025 pm 04:58 PM

文章讨论了PHP,详细介绍了其完整形式,在We​​b开发中的主要用途,与Python和Java的比较以及对初学者的学习便利性。

PHP如何处理形式数据?PHP如何处理形式数据?Apr 28, 2025 pm 04:57 PM

PHP使用$ \ _ post和$ \ _获取超级全局的php处理数据,并通过验证,消毒和安全数据库交互确保安全性。

PHP和ASP.NET有什么区别?PHP和ASP.NET有什么区别?Apr 28, 2025 pm 04:56 PM

本文比较了PHP和ASP.NET,重点是它们对大规模Web应用程序,性能差异和安全功能的适用性。两者对于大型项目都是可行的,但是PHP是开源和无关的,而ASP.NET,

PHP是对病例敏感的语言吗?PHP是对病例敏感的语言吗?Apr 28, 2025 pm 04:55 PM

PHP的情况敏感性各不相同:功能不敏感,而变量和类是敏感的。最佳实践包括一致的命名和使用对案例不敏感的功能进行比较。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),