[PHP4BETA] php3_ini is gone
| From: | Zeev Suraski | Date: | Sat, 10 Apr 1999 21:00:48 +0000 |
| Subject: | [PHP4BETA] php3_ini is gone | ||
| Groups: | php.version4 | ||
| Request: | Send a blank email to php-version4+get-71@lists.php.net to get a copy of this message | ||
I've spent a few hours today on eliminating all traces of php3_ini. All
directives now use the standard php_ini mechanism, which cut the size of
the ugly code in PHP3 significantly. A lot of commonly used values are
cached in a structure called php_core_globals. This structure is designed
to be thread safe without too much further work, so make sure that any
global that you may need, and that belongs to php_core - goes in there and
not anywhere else (it's defined in php_globals.h).
One of the key features of the new ini mechanism is the automatic support
for any INI variable in Apache .conf files. All of the php3 .conf
directives are now deprecated, and were all replaced by two directives:
php4_value and php4_flag.
For example, what you would write as
php3_safe_mode On
in PHP 3.0, you would write as
php4_flag safe_mode On
in PHP 4.0.
The difference is obvious. It would be great if somebody had the time and
knowledge to write a sed script that does the following conversions:
php3_XXX on -> php4_flag XXX on
php3_XXX off -> php4_flag XXX off
php3_XXX YYY -> php4_value XXX YYY
Flags that may not be set on a per-directory basis are silently ignored
(we'd probably have to add in two more directives that can be used in the
apache server-wide configuration files, that won't have this limitation).
Also, I've changed the way the Apache module handles the per-dir structure
(what used to be php3_ini). Rasmus - while this appears to be working
perfectly and runs the PHP3 web site very well (http://beta.zend.com), it
may be a good idea for you to look around the way it works now.
Essentially - there's no dir merger anymore, and it relies on Apache's
default behavior of overriding. php3_module_startup() is also called just
once at the module initializer, instead of running on each .htaccess parsing.
Zeev
--
Zeev Suraski <zeev@zend.com> http://www.zend.com/
For a PGP public key, finger bourbon@netvision.net.il
--
PHP 4 Beta