搜尋
首頁後端開發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

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),