免費(fèi)開源的輕量級(jí) PHP 開發(fā)框架 ThinkPHP,遵循 Apache2 開源許可協(xié)議
2024-09-25
它是一個(gè)免費(fèi)、開源、快速、簡單、面向?qū)ο蟮妮p量級(jí) PHP 開發(fā)框架,為敏捷 WEB 應(yīng)用開發(fā)和簡化企業(yè)應(yīng)用開發(fā)而生。自誕生以來,它一直秉承簡潔實(shí)用的設(shè)計(jì)原則,在保持優(yōu)異性能和極簡代碼的同時(shí),更注重易用性。它遵循開源許可協(xié)議發(fā)布,這意味著你可以免費(fèi)使用它,甚至允許你基于它開發(fā)的應(yīng)用程序開源或作為商業(yè)產(chǎn)品發(fā)布/銷售。
效果預(yù)覽
以下是本文涉及的兩個(gè)應(yīng)用示例部署后的鏈接php tp框架下載,點(diǎn)擊可以預(yù)覽結(jié)果:
官方示例:博客示例:博客示例管理后臺(tái):環(huán)境準(zhǔn)備
首先,按照 Fun 安裝文檔中的說明在您的計(jì)算機(jī)上安裝 Fun。
PS:本文介紹的方法無需安裝,只需要安裝Fun即可。最簡單的方法就是直接下載可執(zhí)行二進(jìn)制文件。
安裝完成后可以執(zhí)行fun--查看Fun是否安裝成功。
第一個(gè)例子:快速初始化并部署示例應(yīng)用程序
初始化一個(gè)例子:
composer create-project topthink/think tp
本地運(yùn)行測(cè)試:
php think run
本地可以看到效果:
傳統(tǒng)的開發(fā)方式是本地開發(fā)完成后,就要進(jìn)行部署工作,通常我們可能需要如下步驟來部署一個(gè)PHP應(yīng)用:
購買物理機(jī)(如ECS),綁定公網(wǎng)IP,安裝PHP,配置PHP-FPM,上傳應(yīng)用到機(jī)器并運(yùn)行測(cè)試
最復(fù)雜的就是第 2 步和第 3 步了php tp框架下載,因?yàn)椴煌沫h(huán)境可能配置方式不一樣seo優(yōu)化,這樣可能會(huì)出現(xiàn)很多坑。下面我們來演示一下如何將一個(gè)應(yīng)用部署到函數(shù)計(jì)算上。
fun deploy
只要輸入一條命令,F(xiàn)un就會(huì)自動(dòng)進(jìn)入部署流程,用戶只需要按一連串的回車鍵即可。流程詳情如下:
Fun 檢測(cè)到這不是一個(gè) Fun 項(xiàng)目,會(huì)提示你幫忙創(chuàng)建(只需按 或輸入 y)
Fun項(xiàng)目自動(dòng)創(chuàng)建成功,是否部署?可直接回車,也可以輸入y確認(rèn)。
然后Fun會(huì)直接在線部署應(yīng)用程序
部署完成后,從部署成功的日志中我們可以看到函數(shù)計(jì)算已經(jīng)為我們生成了一個(gè)臨時(shí)域名,我們可以通過這個(gè)臨時(shí)域名直接訪問我們剛剛部署的應(yīng)用。
注意:臨時(shí)域名僅用于演示和開發(fā),有時(shí)間限制,如用于生產(chǎn),請(qǐng)綁定注冊(cè)的域名。
第二個(gè)示例:快速遷移現(xiàn)有應(yīng)用程序
這里我們以一個(gè)開源博客為例:
首先我們需要克隆博客:
git clone https://github.com/wolf-leo/Wolf-Blog.git
使用安裝依賴項(xiàng):
composer install
在需要使用的數(shù)據(jù)庫上新建一個(gè)文件/.php,編輯/.php文件,修改數(shù)據(jù)庫地址、用戶名、密碼信息。
// ... ...
return [
// ... ...
// 服務(wù)器地址
'hostname' => '192.168.17.104',
// 數(shù)據(jù)庫名 測(cè)試數(shù)據(jù)庫名稱 不用修改 否則默認(rèn)安裝會(huì)出錯(cuò)
'database' => 'blog_test',
// 用戶名 需要修改的地方
'username' => 'root',
// 密碼 需要修改的地方
'password' => 'root',
// ... ...
];
修改完成后可以在本地啟動(dòng)查看效果:
$ php think run
ThinkPHP Development server is started On
You can exit with `CTRL-C`
Document root is: /examples/php/Wolf-Blog/public
然后打開:8000就可以直接看到效果了。
本地測(cè)試完成后,我們需要進(jìn)行部署。部署前我們需要知道網(wǎng)站開發(fā),由于函數(shù)計(jì)算運(yùn)行時(shí),代碼目錄本身是無法修改的,所以在代碼目錄下會(huì)往這個(gè)目錄寫入一些緩存文件。我們需要把這個(gè)緩存文件放在 /tmp 下。在我們的例子中,我們需要修改 ///App.php 文件的第 174 行,如下所示:
- $this->runtimePath = $this->rootPath . 'runtime' . DIRECTORY_SEPARATOR;
+ $this->runtimePath = DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR;
修改完成后可以直接使用以下命令進(jìn)行部署:
fun deploy
經(jīng)過和第一個(gè)例子同樣的步驟之后,我們可以得到一個(gè)可以訪問進(jìn)行測(cè)試的臨時(shí)域名: 。打開臨時(shí)域名就可以預(yù)覽和本地運(yùn)行一樣的效果。
您還可以訪問/打開應(yīng)用程序的管理頁面:
總結(jié)
本文主要介紹如何將應(yīng)用部署到函數(shù)計(jì)算,相比傳統(tǒng)的部署方式,不僅沒有復(fù)雜多少,還省略了購買機(jī)器、安裝配置、安裝配置php-fpm的步驟??梢詫?shí)現(xiàn)傳統(tǒng)應(yīng)用在本地開發(fā)完成后,一鍵直接部署到遠(yuǎn)端進(jìn)行生產(chǎn),并且具有彈性伸縮、按量付費(fèi)、免運(yùn)維等特點(diǎn)。