## 如何在虛擬機部署 ThinkCMF5.1?
在 public/index.php 文件中有個常量CMF_ROOT;
```
// 定義CMF根目錄,可更改此目錄
define('CMF_ROOT', __DIR__ . '/../');
```
這個常量定義了 ThinkCMF根目錄的地址,public目錄是個例外,它是程序的 web 根目錄,也就說這個目錄可以隨意調整,對有自己服務器的同學,可以直接把 public 目錄當網站根目錄,但對于虛擬機可能無法直接把 public 當網站根目錄。
今天我們來說一下怎么在虛擬機部署 ThinkCMF5.1 ?
一般空間目錄結構基本是這樣:
```
wwwroot(或 www)
logs
data
...
```
這時thinkcmf 默認的結構并不適用空間目錄結構,因為空間的網站根目錄是 wwwroot 或 www,這時我們就要對默認的 cmf 進行改造了,其實很簡單。
我們可以 thinkcmf 放到 wwwroot 之外,比如放在空間根目錄的 thinkcmf 目錄里
```
wwwroot(或 www)
logs
data
...
thinkcmf
app
data
public
index.php
...
vendor
...
```
然后把 public 目錄的所有文件都移動到 wwwroot 目錄下
```
wwwroot(或 www)
static
upload
index.php
...
logs
data
...
thinkcmf
app
data
public
vendor
...
```
這時我們再改一下 index.php
```
// 定義CMF根目錄,可更改此目錄
define('CMF_ROOT', __DIR__ . '/../thinkcmf/');//NOTE 我改過了
```
下在完整 index.php 下如:
~~~
<?php
// +----------------------------------------------------------------------
// | ThinkCMF [ WE CAN DO IT MORE SIMPLE ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013-2019 http://www.thinkcmf.com All rights reserved.
// +----------------------------------------------------------------------
// | Author: 老貓 <zxxjjforever@163.com>
// +----------------------------------------------------------------------
namespace think;
// [ 入口文件 ]
// 調試模式開關
define('APP_DEBUG', true);
// 定義CMF根目錄,可更改此目錄
define('CMF_ROOT', __DIR__ . '/../thinkcmf/');//NOTE 我改過了
// 定義CMF數據目錄,可更改此目錄
define('CMF_DATA', CMF_ROOT . 'data/');
// 定義應用目錄
define('APP_PATH', CMF_ROOT . 'app/');
// 定義網站入口目錄
define('WEB_ROOT', __DIR__ . '/');
// 加載基礎文件
require CMF_ROOT . 'vendor/thinkphp/base.php';
// 執行應用并響應
Container::get('app', [APP_PATH])->run()->send();
~~~
最后更改`vendor/thinkphp/library/think/Loader.php`的`getRootPath`方法為:
~~~
// 獲取應用根目錄
public static function getRootPath()
{
return CMF_ROOT;
}
~~~
虛擬機部署 ThinkCMF5.1 講解完畢!
- 序言
- 運行環境
- nginx rewrite
- apache rewrite
- IIS rewrite
- MAC開發
- HTTPS配置
- 更安全的nginx配置
- 關閉調試模式
- 6.0調試模式
- 開發工具
- 郵箱配置
- 163郵箱配置
- QQ郵箱配置
- 安裝門戶應用
- 5.1及以前版本安裝
- 驗證碼問題
- 遷移到正式環境
- 支持虛擬機
- 5.0支持虛擬機
- 5.1支持虛擬機
- 如何保證代碼同時兼容5.1和6.0
- 站群部署
- 部署原理
- 如何使用CMF做商業軟件
- 商業化使用概述
- 去除界面上的ThinkCMF
- 更改前后臺默認模板
- 定制安裝應用
- 讓應用自動安裝
- 更改默認核心的邏輯
- 忘記后臺密碼
- 后臺地址是?
- 插件安裝
- 模板安裝
- 更換后臺主題
- 關閉數字驗證碼
- 獲取前臺用戶信息
- 獲取當前管理員
- 引入第三方庫
- 分頁參數丟失
- 什么是數據集?
- 基類你理解了嗎?
- 你的后臺菜單管理正確嗎?
- 安裝API模塊
- 持續升級
- 面包屑為什么空?
- composer庫管理
- 提升網站速度
- 七牛云
- 七牛云插件配置
- 原圖保護
- 七牛圖片處理
- 防止百度移動端轉碼