只是为了记录。。
最近在开发环境尝试使用 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 接口,已经有点意味了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。