error in zend session database for php7

后端 未结 3 1028
半阙折子戏
半阙折子戏 2021-01-06 13:14

My application need to use database instead of file for the session management. My Application is based on Zend Framework

3条回答
  •  温柔的废话
    2021-01-06 13:29

    The issue is written here: https://github.com/zendframework/zf1/issues/665#issue-127528467

    Since an update that returns 0 but doesn't throw an exception was still a successful query with no error

    Hence the function write will return false instead of true, and PHP 7.0 requires a true result.

    You can fix this by changing, in Zend/Session/SaveHandler/DbTable.php:

    if ($this->update($data, $this->_getPrimary($id, self::PRIMARY_TYPE_WHERECLAUSE))) {
    

    To:

    if (is_int($this->update($data, $this->_getPrimary($id, self::PRIMARY_TYPE_WHERECLAUSE)))) {
    

    Or you can also remove the if, turn it into an instruction, and keep the $return = true;. Because on error, the query should raise an Exception, so any update() without Exception is good.

提交回复
热议问题