UCenter的通信测试的实质,是一个script脚本,调用地址是/uc_server/admin.php?m=app&a=ping&inajax=1&url=https://example.com&ip=&appid=1&random=1230195151&sid=sdsfsddfd
直接访问就能看到报错
![记录一处discuz不兼容php7导致UCenter通信失败](https://filecdn.lonhowe.cn/wp-content/uploads/2019/11/896ff10c197b277.png)
此处的代码是
1 |
echo $uc_note->$get[\'action\']($get, $post); |
而php5到php7有一个breaking change和类方法动态调用有关
![记录一处discuz不兼容php7导致UCenter通信失败](https://filecdn.lonhowe.cn/wp-content/uploads/2019/11/3516a77d9193caf.png)
php5和php7对这段代码的解释顺序是不同的,所以导致了dz在php7下这里运行出错,修改也很简单,参照样例,这里修改为
1 |
echo $uc_note->{$get[\'action\']}($get, $post); |
就可以让php7用无歧义的方式解析成php5的结果,于是就能通信成功了
微信扫描下方的二维码阅读本文
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容