ThinkPHP 6 安裝和多應用配置

Qeyser·Mutellip發表於2020-11-13

一、安裝

1.ThinkPHP6.0的環境要求如下:

PHP >= 7.1.0

6.0版本開始,必須通過Composer方式安裝和更新,所以你無法通過Git下載安裝。

2.安裝Composer

 1)如果還沒有安裝 Composer,在 Linux 和 Mac OS X 中可以執行如下命令:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

2)在 Windows 中,你需要下載並執行 Composer-Setup.exe
如果遇到任何問題或者想更深入地學習 Composer,請參考Composer 文件(英文文件,中文文件)。

.由於眾所周知的原因,國外的網站連線速度很慢。因此安裝的時間可能會比較長,我們建議使用國內映象(阿里雲)。

開啟命令列視窗(windows使用者)或控制檯(Linux、Mac 使用者)並執行如下命令:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

 3.安裝穩定版

如果你是第一次安裝的話,在命令列下面,切換到你的WEB根目錄下面並執行下面的命令:

composer create-project topthink/think tp

 這裡的tp目錄名你可以任意更改,這個目錄就是我們後面會經常提到的應用根目錄。
如果你之前已經安裝過,那麼切換到你的應用根目錄下面,然後執行下面的命令進行更新:

composer update topthink/framework

4.開啟除錯模式

應用預設是部署模式,在開發階段,可以修改環境變數APP_DEBUG開啟除錯模式,上線部署後切換到部署模式。
本地開發的時候可以在應用根目錄下面定義.env檔案。

5.測試執行

現在只需要做最後一步來驗證是否正常執行。
進入命令列下面,執行下面指令:

php think run

在瀏覽器中輸入地址:

http://localhost:8000/

會看到歡迎頁面。恭喜你,現在已經完成ThinkPHP6.0的安裝!

二、多應用部署

1.注意事項

多應用模式部署前,記得刪除app目錄下的controller目錄(系統根據該目錄作為判斷是否單應用的依據)。

在實際的部署中,請確保只有public目錄可以對外訪問。

2.多應用模式配置

1)如果要使用多應用模式,你需要安裝多應用模式擴充套件think-multi-app。

composer require topthink/think-multi-app

2)然後你的應用目錄結構需要做如下調整,主要區別在app目錄增加了應用子目錄,然後配置檔案和路由定義檔案都納入應用目錄下。

├─app 應用目錄
│  ├─index              主應用
│  │  ├─controller      控制器目錄
│  │  ├─model           模型目錄
│  │  ├─view            檢視目錄
│  │  ├─config          配置目錄
│  │  ├─route           路由目錄
│  │  └─ ...            更多類庫目錄
│  │ 
│  ├─admin              後臺應用
│  │  ├─controller      控制器目錄
│  │  ├─model           模型目錄
│  │  ├─view            檢視目錄
│  │  ├─config          配置目錄
│  │  ├─route           路由目錄
│  │  └─ ...            更多類庫目錄
│
├─public                WEB目錄(對外訪問目錄)
│  ├─admin.php          後臺入口檔案
│  ├─index.php          入口檔案
│  ├─router.php         快速測試檔案
│  └─.htaccess          用於apache的重寫
│
├─config                全域性應用配置目錄
├─runtime               執行時目錄
│  ├─index              index應用執行時目錄
│  └─admin              admin應用執行時目錄

從目錄結構可以看出來,每個應用相對保持獨立,並且可以支援多個入口檔案,應用下面還可以通過多級控制器來維護控制器分組。

3)增加應用入口

允許為每個應用建立單獨的入口檔案而不通過index.php入口檔案訪問多個應用,例如建立一個admin.php入口檔案來訪問admin應用。

// [ 應用入口檔案 ]
namespace think;

require __DIR__ . '/../vendor/autoload.php';

// 執行HTTP應用並響應
$http = (new  App())->http;
$response = $http->run();
$response->send();
$http->end($response);

使用下面的方式訪問admin應用:

http://serverName/admin.php

 

相關文章