【发布时间】:2018-10-22 08:10:10
【问题描述】:
我想将 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 版本?
【问题讨论】:
-
我觉得你应该先升级到最新的TYPO3版本。鉴于此消息暗示了 dam 扩展,您可能使用的是史前的 TYPO3 4.x。
-
应该更正确地查看您的代码,有 2 个
default案例。删除case 'charDef':之后的那个 -
@JaswinderSingh 我已经找到了解决方案,但感谢您抽出宝贵时间 :)
-
@MathiasBrodala 这对我来说是不可能的,我尝试的解决方案是更新我没有首先想到的扩展
标签: php html error-handling typo3