Book HomePHP CookbookSearch this book

8.24. Setting Configuration Variables

8.24.1. Problem

You want to change the value of a PHP configuration setting.

8.24.2. Solution

Use ini_set( ):

// add a directory to the include path
ini_set('include_path', ini_get('include_path') . ':/home/fezzik/php');

8.24.3. 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

8.24.4. 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.



Library Navigation Links

Copyright © 2003 O'Reilly & Associates. All rights reserved.