Thinkphp3.1升级到php7运行环境


因为运行环境需要升级到php7。

需要将mysql改为mysqli,以及替换一部分preg_replace函数。
其中替换preg_replace最麻烦。

以下是一些例子。
1、ThinkPHP/Lib/Core/Dispatcher.class.php:132

                 // 解析剩余的URL参数
                 // preg_replace('@(\w+)\/([^\/]+)@e', '$var[\'\\1\']=strip_tags(\'\\2\');', implode('/',$paths));

                // 替换为支持php7的preg_replace_callback函数。
                preg_replace_callback('/(\w+)\/([^\/]+)/',
                    function ($matches) use (&$var) {
                       $var[$matches[1]] = strip_tags($matches[2]);
                    },
                    implode('/',$paths));

 
2、ThinkPHP/Lib/Core/Db.class.php:605

// $joinStr = preg_replace("/__([A-Z_-]+)__/esU",C("DB_PREFIX")."strtolower('$1')",$joinStr);

// 替换为
$joinStr = preg_replace_callback("/__([A-Z_-]+)__/sU", function($matches){
    return C("DB_PREFIX").strtolower($matches[1]);
},  $joinStr);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值