PHP - ini_set () ожидает, что параметр 2 будет строкой, задано целое число - PullRequest
3 голосов
/ 27 сентября 2019

У меня есть эта часть кода:

...
ini_set('max_execution_time', 300);
...

До сих пор это работало.Теперь я получаю эту ошибку:

ini_set() expects parameter 2 to be string, integer given

Что изменилось?Это может быть вызвано версией PHP?

Ответы [ 3 ]

2 голосов
/ 27 сентября 2019

PHP на самом деле ожидает, что оба параметра ini_set() будут иметь тип string и возвращает string:

ini_set (строка $ varname, строка $ newvalue): строка

Вы можете найти это в руководстве по PHP на ini_set.

Если вы установили strict_types с

declare(strict_types=1);

, то вывам придется изменить ini_set() значения на

ini_set('max_execution_time', '300');
1 голос
/ 27 сентября 2019

Не уверен, как это работает для вас. Здесь является ссылкой.Второй параметр должен быть строковым типом данных.

Может быть, вы использовали переменную, чтобы установить его до сих пор, и эта переменная каким-то образом приводилась к строке?не уверен.

В любом случае, просто используйте строку вместо целого числа в качестве второго параметра:

ini_set('max_execution_time', '300');

и все должно быть хорошо.

Достаточно странно, только сейчас я заметилпредоставление второго параметра в качестве целого числа работает на моем сервере.

Также Здесь , если вы выполняете поиск с помощью «ini_set», пример приводится со вторым параметром в виде целого числа:

ini_set('assert.exception', 1);

Странно, почему это не работает для вас.

0 голосов
/ 27 сентября 2019

PHP принимает пару ключ-значение в строке в PHP ini_set () .

ini_set("max_execution_time", "300");
...