ini_set()
is global for everything that happens in the script (not just the current file: the whole thread of execution that is occurring), for this entire one request; it doesn't matter whence you invoke it, it will always affect the global settings for this script. The effect will expire when your script terminates - e.g. through exit
, die
, or running off the end of index.php
.
It will not affect any other scripts running simultaneously (those need to call ini_set
themselves), and it will not persist into later requests (if you need persistent settings, you need to edit php.ini
).
Note that the documentation says the same thing:
Sets the value of the given configuration option. The configuration option will keep this new value during the script's execution, and will be restored at the script's ending.
Edit: Since it is apparently unclear: the value you change using ini_set
will be valid for the whole script onwards. It doesn't matter where the execution currently is (in what file, in what class, in what function); the setting will be the same, everywhere. It will remain so until you change it again, or until the whole script terminates. (not the current file, not the current function; the whole script)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…