ID: 28878
Updated by: [EMAIL PROTECTED]
Reported By: michaelw at webcentral dot com dot au
-Status: Open
+Status: Feedback
Bug Type: iPlanet related
Operating System: Solaris 9
PHP Version: 4.3.7
New Comment:
Does it work if you change
ok&=(!strcasecmp(entry->param->name,nsapi_exclude_from_ini_entries[j]));
to
ok=(!strcasecmp(entry->param->name,nsapi_exclude_from_ini_entries[j]));
Previous Comments:
------------------------------------------------------------------------
[2004-06-22 05:34:56] michaelw at webcentral dot com dot au
Description:
------------
Attempting to set ini values within the obj.conf file (or
vserver.obj.conf if thats where your virtual hosts are pointed) fails
silently.
This appears to be caused by the logic in sapi/nsapi/nsapi.c ( static
void nsapi_php_ini_entries(NSLS_D TSRMLS_DC) ) , in particular the
following snippet:
--- SNIP ---
ok=1;
for (j=0; nsapi_exclude_from_ini_entries[j]; j++) {
ok&=(!strcasecmp(entry->param->name,nsapi_exclude_from_ini_entries[j]));
}
if (ok) {
--- SNIP ---
It appears that ok is never returning as TRUE, and thus the code never
enters the if (ok) block.
I modified it as follows (although I'm sure there are better ways..):
--- SNIP ---
ok=1;
for (j=0; nsapi_exclude_from_ini_entries[j]; j++) {
if
(!strcasecmp(entry->param->name,nsapi_exclude_from_ini_entries[j]))
{
ok = 0;
}
}
if (ok) {
--- SNIP ---
Additionally, the code that actually updates the ini value in the same
method):
--- SNIP ---
if (ok) {
/* change the ini entry */
if
(zend_alter_ini_entry(entry->param->name,strlen(entry->param->name)+1,entry->param->value,strlen(entry->param->value),PHP_INI_USER,PHP_INI_STAGE_RUNTIME)==FAILURE)
{
log_error(LOG_WARN, pblock_findval("fn", NSG(pb)),NSG(sn),
NSG(rq), "Cannot change php.ini key \"%s\" to \"%s\"",
entry->param->name, entry->param->value);
}
}
--- SNIP ---
checks the method to see if it is PHP_INI_USER allowed, whilst since it
is in a system file (obj.conf or vserver.obj.conf) I would expect it to
test against PHP_INI_SYSTEM ?
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=28878&edit=1