-->

哪个是更好的php.ini VS的ini_set()(Which is better php.ini

2019-10-18 23:55发布

我有一个简单的问题,我应该写设置或php.ini文件,或者使用ini_set()在PHP文件。 这是关于更好的表现?

非常感谢你。

Answer 1:

取决于你的目标。 php.ini设置将被应用在默认情况下所有的PHP应用程序, ini_set将在飞行中对当前的PHP应用程序更改PHP设置。

如果您有问题的表现, php.ini应该会更快,因为你跳过函数调用ini_set



Answer 2:

在典型的2018硬件上运行ini_set('date.timezone', $timezone) 100万次大约需要500毫秒。

对于PHP 7.1 ini_set()绝对不比加载另一个.ini文件慢。 事实上,这是更快的运行ini_set()中的第二文件与require()而不是加载.ini文件。

即使是空的.ini文件具有一些开销。 我怀疑内部的.ini文件做类似反正东西的ini_set。

# Baseline (no .ini, empty script)
$ time for ((i=0;i<1000;i++)); do php -n empty.php; done
real    0m21.214s

# php.ini: date.timezone = Australia/Sydney
$ time for ((i=0;i<1000;i++)); do php -c php.ini empty.php; done
real    0m23.015s

# inline.php: <?php ini_set('date.timezone', 'Australia/Sydney') 
$ time for ((i=0;i<1000;i++)); do php -n inline.php; done
real    0m21.150s

这些数字似乎是相当有代表性。 然而,这里的性能差异是不是有意义。 这可能归结于什么样的环境一致性和你需要的灵活性。



Answer 3:

当我想到的ini_set()比打开你的ini文件,做更改,因为如果你改变了INI设置一旦超过这将是适用于你所有的PHP项目,但在函数ini_set()你没有,甚至认为你的其他PHP更好的方法应用。



文章来源: Which is better php.ini vs ini_set()
标签: php ini ini-set