ThinkCMF 5.0 从windows移植到虚拟机

最近下载了一个ThinkCMF 在本地安装的测试环境 appsever 最新版,PHP5.7,MySQL5.6 ,一切运行正常。

等到部署到运行环境,linux下的apache+mysql+php(虚拟机ngnix不支持rewrite只好用apache)状况百出!整理下步骤,以后备用。

1、按照官方虚拟机的部署文档,把文件,文件夹重新整理了一次。

除public 文件夹之外的所有文件以及文件夹单独建一个目录在根目录存放,例如:thk 目录

public 目录下的文件全部复制到网站根目录。

删除空的public,删除runtime 下的各种缓存文件,删除upload 下面的本地测试文件。

记得把DEBUG关了。

3、改入口文件index.php里面的各种引用文件路径。

各种../ 组合 全部改成绝对路径,稳妥不会错。这么多年就靠这招应付各种上线空白页了!

API入口文件改成这样的定义,具体就自己看实际情况了,不清楚就一个个把路径打出来看看,对不对。

// 定义CMF根目录,可更改此目录

define('CMF_ROOT', substr(__DIR__,0,-4) . '/thk/');
// 定义应用目录
define('APP_PATH', CMF_ROOT . 'api/');
// 定义CMF目录
define('CMF_PATH',CMF_ROOT. 'simplewind/cmf/');
// 定义插件目录
define('PLUGINS_PATH',CMF_ROOT. 'plugins/');


// 定义扩展目录
define('EXTEND_PATH', CMF_ROOT. 'simplewind/extend/');
define('VENDOR_PATH',CMF_ROOT. 'simplewind/vendor/');


// 定义应用的运行时目录
define('RUNTIME_PATH',CMF_ROOT.'data/runtime/api/');


// 加载框架基础文件
require CMF_ROOT.'simplewind/thinkphp/base.php';


// 执行应用
\think\App::run()->send();

2、打开根目录下的.htaccess文件

 重写规则改成下面这样:

PS:具体原来的写法为啥报错,我也没搞懂。。。。。。这样写重写规则就生效了,只能说蒙对了!

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]

3、剩下的就是导数据了,主要就分类那个表,其他感觉都可以不用导上去了

各栏目配置不同的字段,网上有大神直接分享了思路,拿出来直接改改改就成功了。

然后前后台就正常运行了。

API链接也可以一起跑起来了。

http://域名/api/portal/lists/getCategoryPostLists?category_id=分类ID

http://域名/api/portal/articles?id=文章ID

功能很强大,方便有快捷!谢谢各种大神的分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值