在Android设备上使用Termux构建PHP开发环境:一个移动开发指南
核心要点
phpinfo()
测试验证PHP安装。不久前,Christopher Pitt撰写了一篇优秀的文章,介绍如何在iPad上编写和运行PHP代码。读完后,我心想:“在Android上做同样的事情也很酷”,例如,可以在旅途中随时编写和编辑代码,而无需随身携带笔记本电脑。因此,我决定进行一些研究,看看我能想出什么。
本教程适用于任何类型的Android设备。我在手机上完成了这项工作,但配备蓝牙键盘的Android平板电脑可能是理想的设置。
Android上有一些不同的shell应用程序。本教程将使用名为Termux的应用程序。
Termux结合了强大的终端仿真和广泛的Linux软件包集合。它也是完全免费且易于使用的。
从Play商店安装Termux后,首先要运行apt update
命令。根据文档:“此命令需要在安装后立即运行,之后定期运行以接收更新。”
现在是令人兴奋的部分。我想讨论的最初两个命令是apt list
和apt 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。
<code class="language-bash">apt install php apt install git</code>
这将安装最新的PHP和Git软件包。
对于Composer,我们需要做一些额外的工作。我们需要转到Composer下载页面并使用命令行安装说明:
<code class="language-bash">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');"</code>
这将下载安装程序、验证它、运行它并删除它。如果一切顺利,我们应该能够从Termux运行Composer。
现在我们已经安装了所有工具,我们应该测试我们的PHP安装是否正确运行。为此,让我们进行一个简单的phpinfo()
测试。让我们创建一个新文件夹并测试我们的PHP安装。
<code class="language-bash">mkdir test cd test echo "<?php phpinfo();" ?> > index.php php -S localhost:8080</code>
这将创建一个新文件夹,然后在其中创建一个包含phpinfo()
命令的index.php
文件。我直接将其回显到文件中,但你可以使用Vim来完成它。最后,我们使用PHP服务器将其提供给我们的localhost。当在浏览器中访问localhost:8080时,我们应该看到类似这样的内容:
我们现在拥有用于依赖项管理的Composer和用于版本控制的git。但是我知道你在想什么:“我们刚刚进行了一个简单的phpinfo
测试,其余的呢?”
我们可以在Android设备上安装Laravel吗?
此时,我们拥有在Android设备上安装和运行Laravel所需的一切。要创建一个新的Laravel项目,我们需要运行以下命令:
<code class="language-bash">php composer.phar create-project --prefer-dist laravel/laravel new_project</code>
这将在new_project
文件夹中创建一个新的Laravel项目。--prefer-dist
选项在此处有很好的文档说明。安装可能需要一段时间。完成后,我们可以使用Laravel自己的Artisan命令行界面运行我们新创建的项目。在new_project
文件夹内,我们可以运行以下命令:
<code class="language-bash">php artisan serve</code>
在浏览器中访问localhost:8000 URL应该现在显示Laravel的首页。
成功!我们的Laravel安装已完成。我们已成功安装了编写和执行代码所需的工具。但是,如果没有持久化数据的方法,任何开发环境都不完整。
对于Android设备,大多数情况下,内存和存储容量都是实际问题。因此,Termux仅提供SQLite作为持久化数据的方法。SQLite是一个无服务器的文件型数据库引擎。它很轻量级,非常适合少量数据,正如你在这里和这篇超越基础知识的文章中所读到的那样。首先,我们需要安装它。
<code class="language-bash">apt install php apt install git</code>
接下来,我们需要配置我们的Laravel项目以使用SQLite。在项目的根目录中,我们有一个.env
文件。这是环境配置文件,是我们需要编辑的第一个文件。使用你选择的编辑器来编辑以下几行:
<code class="language-bash">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');"</code>
然后转到config/database.php
文件并将以下行从:
<code class="language-bash">mkdir test cd test echo "<?php phpinfo();" ?> > index.php php -S localhost:8080</code>
更改为:
<code class="language-bash">php composer.phar create-project --prefer-dist laravel/laravel new_project</code>
这将使SQLite成为connections
数组中的默认连接。 确保database.sqlite
文件路径正确指向你的数据库文件。
database.sqlite
文件尚不存在,因此我们需要创建它:
<code class="language-bash">php artisan serve</code>
这是我们需要告诉Laravel使用SQLite的所有配置——我们现在可以测试它了。我们将使用Laravel预构建的身份验证系统。要创建脚手架,我们需要运行以下命令:
<code class="language-bash">apt install sqlite</code>
之后,我们将运行迁移以构建我们的数据库模式。这将创建users
和password_reset
表。
<code>DB_CONNECTION=sqlite DB_DATABASE=homestead # 或者更改为你的数据库名称</code>
如果我们再次运行php artisan serve
,我们将看到现在可以选择注册和登录。我们的身份验证CRUD已成功创建!
结论
我在我的Android手机上完成了所有这些操作。此设置非常适合小型开发任务,因为它拥有开始在较小设备上进行开发所需的所有工具,无需随身携带笔记本电脑。
虽然它并非生产力的巅峰之作,但在需要紧急修复或想要查看可以从Android设备中榨取多少PHP性能时,它很容易派上用场。
尝试一下并告诉我们你的想法,如果你在Android上用PHP构建了一些有趣的东西,请向我们推销你的概念,我们将撰写关于它的文章!
*“合适”指针对上下文的合适。Android手机不会运行MySQL,也无法运行复杂的测试套件,尤其是端到端测试,但其他一些东西可能运行得足够好,可以完成一些工作。
(FAQs部分略去,因为与伪原创目标不符,且篇幅过长。)
以上是Android Elephpant-您的Android手机上的Laravel?的详细内容。更多信息请关注PHP中文网其他相关文章!