安装php7后 运行thinkphp框架的网站显示一片空白

之前是是用的很老的thinkphp框架3.0  在linux上安装php7后 运行发现显示一片空白 

打开线上调试模式  把debug设置为true  显示错误信息方便 调试  

define('APP_DEBUG', true); 

但是还是一片空白

把runtime文件夹删掉重新运行也没用

网上有人说是因为thinkphp3.0不支持php7  所以我去找thinphp5

但是 说不适合原有项目升级 为了安全起见还是不更新 

于是百度  

指路灯 ->http://www.thinkphp.cn/topic/43984.html

问题解决

出现另外一个问题

不支持mysql  

因为php7已经废除mysql 但是还是支持mysqli的

这个很简单 改一下db_type 为mysqli就行

又出现问题了

这是因为闭包函数不能直接使用外部变量。

把419行(左右)

  1. $content = preg_replace_callback($patterns, function($r) {
  2. return $this->parseXmlTag($tagLib, $tag, $r[1], '');
  3. },$content);

改为:

  1. $content = preg_replace_callback($patterns, function($r) use ($tagLib,$tag) {
  2. return $this->parseXmlTag($tagLib, $tag, $r[1], '');
  3. },$content);

把427行(左右)

  1. $content = preg_replace_callback($patterns, function($r) {
  2. return $this->parseXmlTag($tagLib, $tag, $r[1], $r[2]);
  3. },$content);

改为:

  1. $content = preg_replace_callback($patterns, function($r) use($tagLib,$tag) {
  2. return $this->parseXmlTag($tagLib, $tag, $r[1], $r[2]);
  3. },$content);           
                                     

问题解决

能访问了

指路灯->

https://blog.csdn.net/Lankecms/article/details/78090678