关于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() 是什么意思啊

  • 2019-11-12 02:56:39

    使用.htaccess重定向后无法显示图片,CSS失效,该如何处理

    现在我需要把这个域名泛解析到blog目录(*.mydomain.org),同时保持另外两个目录的解析不变。尝试对最后一段作以下修改后(前面的内容不变),出现问题:另两个目录中的网站内的图片无法显示,CSS全部失效。

  • 2019-11-14 11:21:34

    vue中的this指向问题

    ※ 对于普通函数(包括匿名函数),this指的是直接的调用者,在非严格模式下,如果没有直接调用者,this指的是window。showMessage1()里setTimeout使用了匿名函数,this指向 window。 ※ 箭头函数是没有自己的this,在它内部使用的this是由它定义的宿主对象决定。showMessage2()里定义的箭头函数宿主对象为vue实例,所以它里面使用的this指向vue实例。

  • 2019-11-18 23:18:49

    spring boot中读取配置信息一

    首先我们都知道一个常识,那就是每个人都有自己的年龄,比如我们现在的业务需求是查询所有年龄大于20的人的相关信息,如果我们选择通过配置文件来配置这个值为20的常量的话,我们该如何配置和如何从配置文件中获取这个值呢?,application.yml的内容如下(注意 “age:“ 和 “20“ 之间需要一个空格,yml的语法 ):

  • 2019-11-19 01:20:18

    java8 forEach、filter、map

    filter()、findAny()、orElse()配合使用,可以根据条件获取某个元素,如果没有返回指定的值。

  • 2019-11-19 01:24:01

    使用JAVA8 filter对List多条件筛选

    记录项目开发的过程中遇到的一些问题及解决方法,由于公司操作数据库都是统一使用工具生成的存在一些多表查询模糊查询,这些操作只能在集合方面下手了,比如发送邮件记录方面查询,对用户的名字及邮件模糊检索 年龄匹配查询。