PHP-ini_set()期望参数2为字符串,给定整数

时间:2019-09-27 12:15:05

标签: php types parameters version ini-set

我有这部分代码:

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

直到现在它一直有效。现在我收到此错误:

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

发生了什么变化?可以由PHP版本引起吗?

3 个答案:

答案 0 :(得分:4)

PHP实际上期望ini_set()的两个参数均为string类型,并返回一个string

  

ini_set(字符串$ varname,字符串$ newvalue):字符串

您可以在PHP manual on ini_set中找到它。

如果您将strict_types设置为

declare(strict_types=1);

然后,您必须将ini_set()的值更改为

ini_set('max_execution_time', '300');

答案 1 :(得分:1)

不知道它如何为您工作。 Here是参考。第二个参数必须是字符串数据类型。

也许直到现在您仍在使用变量进行设置,而该变量以某种方式被强制转换为字符串?不确定。

无论如何,只需使用字符串而不是整数作为第二个参数:

ini_set('max_execution_time', '300');

你应该很好。

奇怪的是,刚才我注意到,由于整数正在服务器上运行,因此给出了第二个参数。

Here,如果您使用“ ini_set”进行搜索,则该示例将第二个参数作为整数给出:

ini_set('assert.exception', 1);

奇怪的是为什么它对您不起作用。

答案 2 :(得分:0)

PHP接受PHP ini_set()中字符串形式的键值对。

ini_set("max_execution_time", "300");