错误内容
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 D:\UserApplication\phpstudy_pro\WWW\youdomain.com\phpMyAdmin4.8.5\libraries\classes\DatabaseInterface.php on line 615
昨天在本地使用phpstudy本地建站的时候,打开phpMyAdmin就出现了上面的错误。
我使用的是PHPStudy(小皮面板)V8.1版本,建站环境选的WMNP,PHP是8.0版本的,截图如下:
错误截图
错误原因
这个错误或者是类似的错误是通常是因为phpMyAdmin与PHP的版本不匹配而导致的。
错误详情
这个错误是关于 PHP 代码中的条件表达式错误。错误信息指出,代码中使用了不被支持的条件表达式结构 a ? b : c ? d : e。系统建议使用 (a ? b : c) ? d : e 或者 a ? b : (c ? d : e) 来替代原有的结构。
简单来说,这个错误是因为在条件表达式中缺少括号,导致代码无法正确解析。要解决这个问题,你需要在条件表达式中添加括号,以明确表达式的优先级和逻辑关系。
这个错误信息出现在文件路径为 D:\UserApplication\phpstudy_pro\WWW\ri-mini.com\phpMyAdmin4.8.5\libraries\classes\DatabaseInterface.php 的第 615 行。
如果你有比较强的编程能力,可以打开提示的错误路径的文件,定位到对应的代码行,并按照系统提供的建议进行修改,解决这个错误。一般情况下,还是建议你按照下面的方法解决:
解决方法
前面说了原因是phpMyAdmin与PHP的版本不匹配导致的,我们就好解决了,phpstudy集成的phpMyAdmin是4.85的版本,显然是有点太老了,如果出现这个问题要么安装新版本的phpMyAdmin,要么就降低PHP版本即可解决。
经过测试使用PHP7.4、7.2都是正常的,所以大概率这个错误在PHP8.0以下的版本是没问题的。如果要使用8.0或者以上的版本的PHP又想要使用phpMyAdmin就应该升级下phpMyAdmin。
phpstudy切换站点PHP版本
在网站选项>选择对应站点>点击管理>鼠标移动到PHP版本>既可以弹出你已经安装的PHP版本,点击既可以进行切换。
安装其他版本的PHP:软件管理>选项PHP>找到需要的版本>点击安装>等待安装完成。