JackShcherbakov
@JackShcherbakov

PhpMyAdmin. Появляется ошибка из-за php_max_input_vars. Как исправить?

Здравствуйте!

Есть база данных MySQL, в которой есть несколько таблиц. Среди этих таблиц есть таблица, в которой хранится список стран. Я пропарсил wikipedia для того, чтобы получить массив стран - в итоге получился массив с длиной в 51 значение. Я написал очень тормозной PHP-скрипт, который проходился по массиву и для каждого элемента делал запрос в бд для вставки новой строки:

<?php

require("modules/php/database.php");

$countries = array(/*массив со странами длиной 51*/);


foreach ($countries as $country) {
  echo $country . "<br>";
  db_add_country($country);
}

function db_add_country($country){
  $db = db_connect();
  $query = "INSERT INTO countries VALUES(NULL, ?)";
  $stmt = $db->prepare($query);
  $stmt->bind_param("s", $country);
  $stmt->execute();
}
?>


Зашел в PhpMyAdmin для того, чтобы убедится, что все прошло успешно и обнаружил вот такое вот сообщение:

5b0e2725aa3c2932242059.png

После чего я сразу начал копаться в интернете, у людей проблема решалась либо переустановкой OpenServera, либо убиранием знака ; перед input_max_vars в php.ini. Короче говоря в интернете я ответа не нашел.

Я выставил огромные значения, чтобы уже наверняка сработало. Вот конфигурация php:

expose_php = Off
max_execution_time = 180
max_input_time = 180
;max_input_nesting_level = 64
max_input_vars = 10000000000000000000000000000000000000
memory_limit = 1536M

Файл php.ini я сохранил, перезапустил OpenServer, в php_info() изменения были отражены, соответственно конфигурация была изменения. После чего захожу в PhpMyAdmin, и снова появляется это сообщение. Я повторял эту процедуру несколько раз - ничего не помогло.

В чем еще может быть дело? Как это исправить и что я делаю не так?

Заранее спасибо всем, кто поможет.
  • Вопрос задан
  • 633 просмотра
Решения вопроса 1
@alexalexes
max_input_vars = 10000000000000000000000000000000000000

Серьезно. )))) И в какой тип данных среда должна положить это значение, чтобы потом проверять лимит?
Вы хоть в пределах одного порядка поэспериментируйте, 3000... 5000.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы