PHP 4.0 Bug #7175 Updated: "perdir" ini settings are not per dir
| From: | Bug Database | Date: | Fri, 13 Oct 2000 08:45:12 +0000 |
| Subject: | PHP 4.0 Bug #7175 Updated: "perdir" ini settings are not per dir | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-34874@lists.php.net to get a copy of this message | ||
ID: 7175
User Update by: rick@eastcore.net
Status: Open
Bug Type: PHP options/info functions
Description: "perdir" ini settings are not per dir
The code in php-4.0.3/sapi/apache/mod_php4.c (line 551) looks suspicious:
static zend_bool should_overwrite_per_dir_entry(php_per_dir_entry *orig_per_dir_entry,
php_per_dir_entry *new_per_dir_entry)
{
if (orig_per_dir_entry->type==PHP_INI_SYSTEM
&& new_per_dir_entry->type!=PHP_INI_SYSTEM) {
return 0;
} else {
return 1;
}
}
Previous Comments:
---------------------------------------------------------------------------
[2000-10-13 03:52:29] rick@eastcore.net
Given the apache (1.3.12) virtual hosts definitions:
<VirtualHost 1.2.3.4>
ServerAdmin webmaster@domain.com
ServerName www.domain.com
ServerAlias *.domain.com domain.com
DocumentRoot /home/domain/htdocs
ScriptAlias /cgi-bin/ /home/domain/cgi-bin/
php_value include_path /home/domain/phpinc
php_value auto_prepend_file dom_prepend.php3
TransferLog /var/log/httpd/access_log.domain
ErrorLog /var/log/httpd/error_log.domain
</VirtualHost>
<VirtualHost 1.2.3.4>
ServerAdmin webmaster@network.net
ServerName www.network.net
ServerAlias network.net *.network.net
DocumentRoot /home/rick/network/htdocs
ScriptAlias /cgi-bin/ /home/rick/network/cgi-bin/
php_value include_path /home/rick/network/phpinc
php_value auto_prepend_file net_prepend.php3
TransferLog /var/log/httpd/access_log.network
ErrorLog /var/log/httpd/error_log.network
</VirtualHost>
both running a freshly compiled php3.0.4
(configure line:
./configure'
'--with-apache=/usr/src/apache_1.3.12'
'--with-mysql=/usr' '--with-xml')
Virtual host network.net has the same 'include_path'
and 'auto_prepend_file' settings as domain.com. These
were systems that had no such problem prior to the upgrade
(from 4.0.1pl2).
I dug through the source for a few hours and decided that
it is most likely to do with php_alter_ini_entry for ini
values set to PHP_INI_PERDIR or PHP_INI_ALL in main/main.c,
but I couldn't make headway beyond this.
If this is true, this is a show-stopper for a lot of users.
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=7175