服务器

解决宝塔phpMyAdmin"Warning in ./libraries/config/FormDisplay.php#661"问题

奶瓶 · 4月6日 · 2020年 · 15次已读

错误现象

因为今天手贱把后台http改为了https导致后台登陆不上,一直说密码错误,只好去数据库改回来,登录phpMyAdmin的时候发现有报错,但是导入数据库的时候是没有问题的。报错为"Warning in ./libraries/config/FormDisplay.php#661"

Warning in ./libraries/config/FormDisplay.php#661
 "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?

Backtrace

./vendor/composer/ClassLoader.php#444: include()
./vendor/composer/ClassLoader.php#322: Composer\Autoload\includeFile(string '/www/server/phpmyadmin/phpmyadmin_2e380695de310e11/vendor/composer/../..//libraries/config/FormDisplay.php')
Composer\Autoload\ClassLoader->loadClass(string 'PMA\\libraries\\config\\FormDisplay')
./libraries/config/PageSettings.php#76: spl_autoload_call(string 'PMA\\libraries\\config\\FormDisplay')
./libraries/config/PageSettings.php#230: PMA\libraries\config\PageSettings->__construct(
string 'Navi_panel',
string 'pma_navigation_settings',
)
./libraries/navigation/Navigation.php#66: PMA\libraries\config\PageSettings::getNaviSettings()
./libraries/Header.php#425: PMA\libraries\navigation\Navigation->getDisplay()
./libraries/Response.php#260: PMA\libraries\Header->getDisplay()
./libraries/Response.php#273: PMA\libraries\Response->_getDisplay()
./libraries/Response.php#432: PMA\libraries\Response->_htmlResponse()
PMA\libraries\Response->response()
报错截图

解决过程

1.登陆宝塔后台,找到文件:/www/server/phpmyadmin/phpmyadmin_xxxxxxxxx/libraries/config/FormDisplay.php 如下图

xxxxxxxxx 是你对应网站的目录,不可照抄

点击【编辑】按钮

找到661行,将Continue改成break。然后保存。

                case 'select':
                    $successfully_validated = $this->_validateSelect(
                        $_POST[$key],
                        $form->getOptionValueList($system_path)
                    );
                    if (! $successfully_validated) {
                        $this->_errors[$work_path][] = __('Incorrect value!');
                        $result = false;
                        continue;
                    }

再次登陆phpMyAdmin,问题已解决。

补充

1.break(易语言中的:跳出循环)

用break语句可以使流bai程跳出switch语句体,也可以用dubreak语句在循环zhi结构终止本层dao循环体,从而提前结束本层循环。
使用说明:
(1)只能在循环体内和switch语句体内使用break;
(2)当break出现在循环体中的switch语句体内时,起作用只是跳出该switch语句体,并不能终止循环体的执行。若想强行终止循环体的执行,可以在循环体中,但并不在switch语句中设置break语句,满足某种条件则跳出本层循环体。

2.continue(易语言中的:到循环尾)

continue语句的作用是跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为仅结束本次循环。
注意:continue语句并没有使整个循环终止。

2 条回应
  1. 邪剑2020-4-7 · 0:43

    这个报错会对MySQL造成啥影响吗

    • 奶瓶2020-4-7 · 12:25

      不会