9

只是为了记录。。

最近在开发环境尝试使用 PHP71 的时候,把需要的扩展都装了,(Mac brew 真是方便),出师不利,直接报错,
Warning: session_start(): Failed to read session data: user (path: )
作为不明真相的观众,难道是代码的问题 ?
遂,切到 PHP70,一切都好。。
猜测就是版本的问题,但是但是,这是多么基础的内容。


解决方法

如果是自己写了 session 处理类,继承了 SessionHandlerInterface 接口,在 PHP71 中要保证 read 方法,返回的是一个 string,其他类型都会报错,比如我的情况,在读不到的时候返回的是 false,在以前版本的 PHP 中,无不良表现,现在要改成返回 空字符串。

http://php.net/manual/en/sess...


题外话

php 在兼容性这块做的很好,虽然从 php70 开始可以设置强类型,但是默认不开启,从今天的事情,至少说明在往这个方向上前进,对于自带的 PHP 接口,已经有点意味了。


dryyun
5.4k 声望176 粉丝