oneThink在本地完成安装步骤,然后把数据库以及代码复制到服务器,会遇到不少的坑。
数据库配置
首先,改数据库配置
Application/Common/Conf/config.php
数据库配置需要修改
只改这边是不够的,还有User/Conf/config.php
里面的UC_DB_DSN
也需要改
define('UC_DB_DSN', 'mysqli://root:123456@127.0.0.1:3306/test');
安全问题
通过查看调试那边的响应可以发现,请求的时候会显示X-Powered-By:ThinkPHP
强迫症患者是不允许这种事情发生的,我们可以修改ThinkPHP/Library/Think/View.class.php
里面的方法
private function render($content,$charset='',$contentType=''){
if(empty($charset)) $charset = C('DEFAULT_CHARSET');
if(empty($contentType)) $contentType = C('TMPL_CONTENT_TYPE');
// 网页字符编码
header('Content-Type:'.$contentType.'; charset='.$charset);
header('Cache-control: '.C('HTTP_CACHE_CONTROL')); // 页面缓存控制
// header('X-Powered-By:ThinkPHP');
// 输出模板文件
echo $content;
}
注释掉就可以了,如果还有会显示 X-Powered-By:PHP/5.3.29
,这个是PHP环境配置的问题。参考NGINX+PHP WEB服务器安全配置
Url重写
我们本地开发环境如果是Apache的,我们这么访问就可以到Admin模块:http://z.test.com/admin 这样就能访问到Admin模块,但是如果在nginx环境下没有配置环境是无法达到这个目标的。
我们可以通过修改nginx的配置,在虚拟主机配置文件中添加代码:
location / {
if (!-f $request_filename){
rewrite ^/(.*)$ /index.php?s=$1 last;
break;
}
}
url重写以后我们也可以这么访问了。