I reopened the original bug reported that lead to your change. At the moment I am trying to fix that. I moved your code a few lines down in zend_alter_ini_entry but until now with no success.
I suppose there is something special with error reporting that corrupts it. It seems that it does not like it to be changed to ZEND_INI_SYSTEM because the @operator tries to change the value (e.g. in zend_vm_execute.h), which fails silently: static int ZEND_BEGIN_SILENCE_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { zend_op *opline = EX(opline); Z_LVAL(EX_T(opline->result.u.var).tmp_var) = EG(error_reporting); Z_TYPE(EX_T(opline->result.u.var).tmp_var) = IS_LONG; /* shouldn't be necessary */ if (EX(old_error_reporting) == NULL) { EX(old_error_reporting) = &EX_T(opline->result.u.var).tmp_var; } if (EG(error_reporting)) { zend_alter_ini_entry("error_reporting", sizeof("error_reporting"), "0", 1, ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME); } ZEND_VM_NEXT_OPCODE(); } ----- Uwe Schindler [EMAIL PROTECTED] - http://www.php.net NSAPI SAPI developer Bremen, Germany > -----Original Message----- > From: Antony Dovgal [mailto:[EMAIL PROTECTED] > Sent: Friday, August 03, 2007 3:15 PM > To: Uwe Schindler > Cc: 'Ilia Alshanetsky'; 'PHP Internals' > Subject: Re: [PHP-DEV] 5.2.4RC1 Released > > On 03.08.2007 16:04, Uwe Schindler wrote: > > I know how this is meant. But without the added patch, it does not > corrupt > > error_reporting. The problem is that your patch is not compatible to a > > webserver that runs more than one request per process (a multithreaded > one), > > because it modifies the ini setting in a way that affects later running > > threads. > > Ok, I see. > Please fill a bug report and assign it to me, I'll deal with it. > > -- > Wbr, > Antony Dovgal -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php