在虚拟主机部署ThinkCMF5


文件正常上传到FTP,然后开始进行调整。

一、在 public/index.php 文件中有个常量CMF_ROOT;

// 定义CMF根目录,可更改此目录
define('CMF_ROOT', __DIR__ . '/../');

这个常量定义了 ThinkCMF根目录的地址,public目录是个例外,它是程序的 web 根目录,也就说这个目录可以随意调整,对有自己服务器的同学,可以直接把 public 目录当网站根目录,但对于虚拟机可能无法直接把 public 当网站根目录。


今天我们来说一下怎么在虚拟机部署 ThinkCMF5 ?

一般空间目录结构基本是这样:

wwwroot(或 www)
logs
data
...

这时thinkcmf 默认的结构并不适用空间目录结构,因为空间的网站根目录是 wwwroot 或 www,这时我们就要对默认的 cmf 进行改造了,其实很简单。


我们可以 thinkcmf 放到 wwwroot 之外,比如放在空间根目录的 thinkcmf 目录里

wwwroot(或 www)
logs
data
...
thinkcmf
    app
    data
    public
        index.php
        ...
    simplewind
    ...

然后把 public 目录的所有文件都移动到 wwwroot 目录下

wwwroot(或 www)
    static
    upload
    index.php
    ...
logs
data
...
thinkcmf
    app
    data
    public
    simplewind
    ...

这时我们再改一下 index.php

 // 定义CMF根目录,可更改此目录
define('CMF_ROOT', __DIR__ . '/../thinkcmf/');//NOTE 我改过了

完整的 index.php 下如:


// +----------------------------------------------------------------------
// [ 入口文件 ]
// 调试模式开关
define("APP_DEBUG", true);
// 定义CMF根目录,可更改此目录
define('CMF_ROOT', __DIR__ . '/../thinkcmf/');//NOTE 我改过了
// 定义应用目录
define('APP_PATH', CMF_ROOT . 'app/');
// 定义CMF核心包目录
define('CMF_PATH', CMF_ROOT . 'simplewind/cmf/');
// 定义插件目录
define('PLUGINS_PATH', __DIR__ . '/plugins/');
// 定义扩展目录
define('EXTEND_PATH', CMF_ROOT . 'simplewind/extend/');
define('VENDOR_PATH', CMF_ROOT . 'simplewind/vendor/');
// 定义应用的运行时目录
define('RUNTIME_PATH', CMF_ROOT . 'data/runtime/');
// 定义CMF 版本号
define('THINKCMF_VERSION', '5.0.170808');
// 加载框架基础文件
require CMF_ROOT . 'simplewind/thinkphp/base.php';
// 执行应用
\think\App::run()->send();

虚拟主机部署 ThinkCMF5 讲解完毕!


评论


乖,登录后才可以留言!