关于php升级7.2后overture微信开发遇到的问题

2018-01-20 20:34:42

由于使用larvavel5.5的最新特性。

所以被迫从php7.0升级到了7.2。

哎,是的,升级就会带来问题的厄运还是来了。


用overtrue框架开发的微信支付不报错了。


首先一个错误。就是count报错。并且这个是在overture框架下的错误。


通过百度查询下面地址解决了问题。


php7.2的一些注意事项



然后我修改了overture框架下的,CurlFactory.php下面的语句。第68行函数

function fun_adm_count($array_or_countable,$mode = COUNT_NORMAL){
    if(is_array($array_or_countable) || is_object($array_or_countable)){
        return count($array_or_countable, $mode);
    }else{
        return 0;
    }
}
    public function release(EasyHandle $easy)
    {
        $resource = $easy->handle;
        unset($easy->handle);

        if ($this->fun_adm_count($this->handles) >= $this->maxHandles) {
            curl_close($resource);
        } else {
            // Remove all callback functions as they can hold onto references
            // and are not cleaned up by curl_reset. Using curl_setopt_array
            // does not work for some reason, so removing each one
            // individually.
            curl_setopt($resource, CURLOPT_HEADERFUNCTION, null);
            curl_setopt($resource, CURLOPT_READFUNCTION, null);
            curl_setopt($resource, CURLOPT_WRITEFUNCTION, null);
            curl_setopt($resource, CURLOPT_PROGRESSFUNCTION, null);
            curl_reset($resource);
            $this->handles[] = $resource;
        }
    }



很庆幸的通过了,这个问题应该是做着没有严格的按照php语法写出现的错误。修改了,,,


其实很想更新为最新版本的overtrue,结果打开文档一看,可能是有些语法有些变化,如果盲目升级到话,出错的话我还得搞半天业务。等下次有时间在统一修改下吧,


结果网页能打开成功了。

继续往下。

哎。又是个坑啊。

ession_cache_limiter(): Cannot change cache limiter when session is active



这是什么鬼。

百度的答案:

修改php.ini中的


session.auto_start = 0 为 session.auto_start = 1


无济于事啊。



后来经过调试,发现崩溃出现在了。


$oauth = $app->oauth;



怎么修改也不行。


其实我应该认真读一读错误答案的,人家说不能改变缓存,在session活跃的状态。


不知怎么的,我就吧session_start放在了这个报错语句后面,竟然不报错了。

虽然不是很清楚

ession_cache_limiter

是做什么的,但是知道

session_start();

是不能放到他后面的了。哎。但是不知道原来为什么没有报错,是不是php7.0没有那么严格,而后来的版本就越来越严格了。


其实我仔细读读搜来的答案,还是能解决的,看到一堆自己不熟悉的文字就退却了,下面是我搜来的答案。我没仔细看,里面也讲了这个事。

PHP中session_cache_limiter() 是什么意思啊

  • 2020-04-14 15:35:52

    caniuse前端兼容性检查和使用

    相信大家都曾用caniuse网站查询过css、js的一些兼容性问题,并且都从它反馈的兼容性数据中获益,让我们的线上项目更加稳定、和谐的跑在用户电脑里。不过对于caniuse页面上的一些细节,我们可能会感到困惑或者模棱两可,今天就带着大家一起来重新认识caniuse这个网站,并对它的原理和细节做些探究。

  • 2020-04-15 17:00:07

    export和import的理解,这一篇问扎根就够了

    在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种。前者用于服务器,后者用于浏览器。ES6 在语言标准的层面上,实现了模块功能,而且实现得相当简单,完全可以取代 CommonJS 和 AMD 规范,成为浏览器和服务器通用的模块解决方案。

  • 2020-04-15 21:14:13

    .d.ts与.ts的区别 .d.ts怎么用

    在TypeScript项目中直接引入Javascript包是不能使用的,因为包中缺少TypeScript类型声明,如果是自己写的包,可以考虑自己增加一个.d.ts类型声明文件,如果代码比较多或者使用的是第三方的包,自己写就比较麻烦了。第三方的包首先考虑找一个别人写好的声明文件,如果没有可以使用一些自动生成声明文件的工具。

  • 2020-04-17 09:27:38

    推荐一个老前端开发者的博客

    前端修炼场,首页标签大全greenSock前端研究VUE研究我们的作品flash技术探讨开发心得个人档案培训与招聘服务报价

  • 2020-04-17 09:41:47

    前端css博客推荐

    这个博客有大量的css内容,有svg,TweenMax等教程,抽空通读一下

  • 2020-04-17 10:20:47

    GreenSocks Animation Platform详细工作机制以及TweenMax用法

    GSAP(GreenSocks Animation Platform)是一个性能较好的前端动画库。最近在写一个前端SVG动画编辑器时选择了它作为底层的动画库。为了减少踩坑,我大致浏览了它的源代码,这篇文章主要是对我的理解进行记录。 我会先简单介绍一下这个动画库的API,再介绍它的插件机制,最后会从一个用例出发跟踪其运行机制。