TYPO3 PHP更新到7.0 |日志显示“ Switch语句只能包含一个默认子句”

时间:2018-10-22 08:10:11

标签: php html error-handling typo3

我想将PHP从5.6更新到7.0,但出现500 HTML错误,并在日志中显示:

[Mon Oct 22 09:42:14 2018] [-:error] [pid 12784] [client 5.158.158.123] [host www.mydomain.de] PHP Fatal error:  Switch statements may only contain one default clause in /is/htdocs/wp12731216_QEO0DONMD6/www/typo3conf/ext/dam/lib/class.tx_dam_db.php on line 547

因此我查看了该文件,发现该文件显示了默认的双重声明:

if ($appendType = $TCA['tx_dam']['columns'][$field]['config']['appendType']) {
    $appended = true;
    switch($appendType) {
        case 'space':
            $rowUpdate[$field] = trim($row[$field].' '.$value);
            break;
        case 'newline':
            $rowUpdate[$field] = $row[$field].($row[$field]?"\n":'').$value;
            break;
        case 'comma':
            $rowUpdate[$field] = $row[$field].($row[$field]?', ':'').$value;
            break;
        case 'charDef':
            default:
            list($type, $appendChar) = explode(':', $appendType);
            $rowUpdate[$field] = $appendChar.$value;
            break;
        default:
            $appended = false;
            break;
    }
}

所以我的问题是,有解决方案吗?我可以只编辑该文件并删除最后的默认语句吗?还是应该更新到其他PHP版本?

1 个答案:

答案 0 :(得分:0)

所以一段时间后,我自己找到了解决方法...

我必须更新带有错误文件的扩展名。