今天本想将WordPress升级到最新版本,没想到出现“升级WordPress 另一更新正在进行。”问题,然后进入phpMyAdmin删除core_updater.lock,打开phpMyAdmin时竟然出现以下错误:
Fatal error: Unparenthesized `a ? b : c ? d : e` is not supported. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` in G:\phpstudy_pro\WWW\phpMyAdmin4.8.5\libraries\classes\DatabaseInterface.php on line 615
根据错误提示找到DatabaseInterface.php文件的第615行代码,具体如下:
return ($aLength == $bLength)
? 0
: ($aLength < $bLength) ? -1 : 1;
根据错误提示的方法在前面或后面添加(),或者将其改为if{}else{}代码,具体如下图所示:
if($aLength == $bLength){return 0;}
elseif($aLength < $bLength){return -1;}
else{return 1;}
}
这样的做法虽然解决了上一个问题,但是又冒出了另一个问题。具体如下如下:
Fatal error: Uncaught Error: Call to a member function getDisplay() on null in G:\phpstudy_pro\WWW\phpMyAdmin4.8.5\libraries\classes\Response.php:266 Stack trace: #0 G:\phpstudy_pro\WWW\phpMyAdmin4.8.5\libraries\classes\Response.php(279): PhpMyAdmin\Response->_getDisplay() #1 G:\phpstudy_pro\WWW\phpMyAdmin4.8.5\libraries\classes\Response.php(438): PhpMyAdmin\Response->_htmlResponse() #2 [internal function]: PhpMyAdmin\Response->response() #3 {main} thrown in G:\phpstudy_pro\WWW\phpMyAdmin4.8.5\libraries\classes\Response.php on line 266
后来直接放弃修改DatabaseInterface.php文件,而是将网站的PHP版不能从PHP 8.0改为PHP 7.2,具体步骤如下:
点击左侧导航菜单“网站”>> 在网站列表中点击“管理”>> 选择“PHP版本 – php 7.2.9nts”。
修改好网站的PHP版本后,重新启动运行环境问题就解决了。如果还没有安装PHP 7.2,那么就在“软件管理”中安装相应的PHP版本即可。