我有index.php
和几个级联包含的文件,就像这样。
index.php -> controller.php -> model.php -> view.php
在model.php
我有一个使用ini_set('memory_limit', '-1');
设置的ini_set()
更改何时到期?
执行index.php
后?还是view.php
?或model.php
中的函数?
答案 0 :(得分:21)
ini_set()
对于脚本中发生的所有内容(不仅仅是当前文件:正在发生的整个执行线程)都是全局;无论您何时调用它,它都将始终影响此脚本的全局设置。当您的脚本终止时,效果将会过期 - 例如通过exit
,die
或在index.php
的结尾处运行。
它不会影响同时运行的任何其他脚本(那些需要自己调用ini_set
的脚本),并且它不会持久存储到以后的请求中(如果您需要持久设置,则需要编辑php.ini
)
请注意documentation says the same thing:
设置给定配置选项的值。配置选项将在脚本执行期间保留此新值,并将在脚本结束时恢复。
编辑:由于显然不清楚:使用ini_set
更改的值对整个脚本开始有效。当前执行的位置无关紧要(在什么文件中,在什么类中,在什么函数中);到处都是相同的设置。它将保持不变,直到您再次更改它,或直到整个脚本终止。 (不是当前文件,不是当前函数;整个脚本)