on-the-fly changes to php.ini values?

php.internals

Todd D. Esposito

20 years ago
Hello! I'm working on an Apache2 module which pulls vhost info from LDAP, and I've got it all knocked out save one really important feature: I need to be able to change the open_basedir on a per-vhost basis, but obviously, NOT via php_admin_value in the configuration file(s), since each vhost is loaded dynamically from LDAP data. I dug around a bit and found the zend_alter_ini_entry function, the prototype of which, at least, looked really promising. However, it always returns FAILURE for me. I've tried every combination of mod_type. I went and copied the source for zend_alter_ini_entry directly into my module, which let me determine that the call to zend_find_hash() is what's failing. So this leads me to believe zend_alter_ini_entry isn't really what I need to do this. I also poked around in the per-dir configuration handler (sapi/apache2handler/apache_config.c:merge_php_config), but that hasn't shed enough light on the problem for me to just jump in and start hacking away at the php module config data block. So, my question is: is there a programmatic way, via some function call or procedure, to alter PHP's runtime configuration as I describe above? Thanks and further details forthcoming to anyone who can lend a hand. Todd D. Esposito