8.23. Setting Configuration Variables
Problem
You want to change the value of a PHP configuration setting.
Solution
Use ini_set( )
:
// add a directory to the include path ini_set('include_path', ini_get('include_path') . ':/home/fezzik/php');
Discussion
Configuration variables are not permanently changed by
ini_set( )
. The new value lasts only for the
duration of the request in which ini_set( )
is
called. To make a persistent modification, alter the values stored in
the php.ini
file.
It isn’t meaningful to alter certain variables, such
as asp_tags
or
register_globals
because by the time you call
ini_set( )
to modify the setting,
it’s too late to change the behavior the setting
affects. If a variable can’t be changed,
ini_set( )
returns false
.
However, it is useful to alter
configuration variables in certain pages. For example, if
you’re running a script from the command line, set
html_errors
to
off
.
To reset a variable back to its original setting, use
ini_restore( )
:
ini_restore('sendmail_from'); // go back to the default value
See Also
Recipe 8.23 on getting values of
configuration variables; documentation on ini_set( )
at http://www.php.net/ini-set and
ini_restore( )
at http://www.php.net/ini-restore.
Get PHP Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.