微擎框架0.8在 php7.2.33环境下报错修复
1.变量类型报错 Uncaught Error: [] operator not supported for strings,修复文件: framework\model\account.mod.php
//大概304行 ,把 $packageids = iunserializer($group['package']); if (!empty($extend)) { foreach ($extend as $extend_packageid => $row) { $packageids[] = $extend_packageid; } } 替换成 $packageids = iunserializer($group['package']); if (!empty($extend)) { $packageids = array(); //dcr163 php7.2.33环境下 Uncaught Error: [] operator not supported for strings foreach ($extend as $extend_packageid => $row) { $packageids[] = $extend_packageid; } }
2. session报错 session_start(): Failed to read session data: user (path: ),修复文件: framework\class\wesession.class.php
//把 public function read($sessionid) { $sql = 'SELECT * FROM ' . tablename('core_sessions') . ' WHERE `sid`=:sessid AND `expiretime`>:time'; $params = array(); $params[':sessid'] = $sessionid; $params[':time'] = TIMESTAMP; $row = pdo_fetch($sql, $params); if(is_array($row) && !empty($row['data'])) { return $row['data']; } return false; } //替换成 public function read($sessionid) { $sql = 'SELECT * FROM ' . tablename('core_sessions') . ' WHERE `sid`=:sessid AND `expiretime`>:time'; $params = array(); $params[':sessid'] = $sessionid; $params[':time'] = TIMESTAMP; $row = pdo_fetch($sql, $params); if(is_array($row) && !empty($row['data'])) { //dcr163 修复报错 session_start(): Failed to read session data: user (path: ) in s if( phpversion() >= 7.0){ return (string)$row['data']; } //dcr163 e return $row['data']; } //dcr163 修复报错 session_start(): Failed to read session data: user (path: ) in s if( phpversion() >= 7.0){ return ''; } //dcr163 e return false; }
Dcr163的博客
http://dcr163.cn/254.html(转载时请注明本文出处及文章链接)