微擎框架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(转载时请注明本文出处及文章链接)