1

У меня был php5-fpm, nginx, mysql, phpmyadmin, который установлен на моем Ubuntu 14.04. все было хорошо. Когда я обновил php до php7.0, phpmyadmin потребовал установить mbstring. Я установил его и работает хорошо. Но страница экспорта phpmyadmin показывает пустую страницу.

Эта ошибка регистрируется в файле журнала ошибок nginx.

2016/08/09 16:20:31 [error] 1494#0: *35 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Cannot 'break' 2 levels in /usr/share/phpmyadmin/export.php on line 864" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "POST /phpmyadmin/export.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "localhost", referrer: "http://localhost/phpmyadmin/index.php?token=584932884866cc16a2444d67eb7927d0&phpMyAdmin=4aro5gojhjuli0svkuctbrlot0450dar"

2 ответа2

1

Я решил проблему, изменив строку 864 в phpmyadmin/export.php, изменив:

break 2;

By:

break;

Решение, предоставленное bbalent в следующем ответе:

Не волнуйтесь, это ошибка кода команды phpMyAdmin: вы находитесь в одном цикле, а не в двух вложенных циклах. Вот почему вы не можете "сломать 2" (потому что 2 означает, что вы находитесь во вложенном цикле). Ошибка возникает из-за того, что PHP7 строже предыдущих версий. Кстати, это может исправить другие пакеты (PHPExcel, более новые версии phpMyAdmin и т.д.). Большую часть времени разработчик удалял вложенный цикл и забывал обновить эту строку кода.

0

Для меня это было в строке 604, и это работает. большое спасибо

if ($GLOBALS[$what . '_structure_or_data'] == 'structure' || $GLOBALS[$what . '_structure_or_data'] == 'structure_and_data') {
        if (!PMA_exportStructure($db, $table, $crlf, $err_url, $do_relation, $do_comments, $do_mime, $do_dates, 'triggers', $export_type)) {
            break;
        }

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .