I don't have an answer to your main question, but I guess you could just as
well use http://www.php.net/manual/en/function.set-error-handler.php
couldn't you?

- David


> -----Original Message-----
> From: Ryan Dingman [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, November 16, 2005 9:02 PM
> To: internals@lists.php.net
> Subject: [PHP-DEV] Re: Lack of read permission on main script leads to
> E_WARNING
> 
> 
> I sent this message last week and haven't received a single reply.  I
> was hoping for someone to either agree that it was a bug and advise
> if/when a patch would be included in PHP or explain why they believe
> that this is the "correct" behavior for PHP.
> 
> Thanks in advance,
> 
> Ryan Dingman
> [EMAIL PROTECTED]
> Next Online Mortgage Technologies
> 
> On Nov 9, 2005, at 11:09 AM, Ryan Dingman wrote:
> 
> >
> > I believe that I've found a bug in the way that PHP handles
> > permission problems when accessing the main script.
> >
> > If I access http://localhost/foo.php and PHP does not have
> > permission to read foo.php, I get an E_WARNING rather than an
> > E_COMPILE_ERROR (include vs. require).  This is in PHP 5.1 RC4.
> > I've fixed this in a local build by patching zend_execute_scripts
> > in Zend/zend.c on line 1079. zend_execute_scripts was calling
> > zend_compile_file and passing ZEND_INCLUDE in as the type argument
> > rather than passing along its type argument.  The old code reads:
> >
> > EG(active_op_array) = zend_compile_file(file_handle, ZEND_INCLUDE
> > TSRMLS_CC);
> >
> > My patched version reads:
> >
> > EG(active_op_array) = zend_compile_file(file_handle, type TSRMLS_CC);
> >
> > Because I'm not intimately familiar with the inner workings of the
> > interpreter, I'm not sure that this is the best way to fix this
> > problem, but it seems like the most appropriate place that I could
> > find.
> >
> > In case you are wondering why I care -- we have a PHP module that
> > monitors PHP errors and redirects our customers to a customer
> > service page any time that PHP encounters anything that the
> > interpreter really shouldn't recover from (E_CORE_ERROR, E_ERROR,
> > E_PARSE, E_COMPILE_ERROR and E_USER_ERROR).  The main script not
> > being readable is certainly a case where we would like to redirect
> > them to a customer service page.  However, having an E_WARNING as
> > the error makes it difficult to identify this situation because we
> > would now have to distinguish between this E_WARNING and any others
> > that might arise in the site.  Having an E_COMPILE_ERROR would be
> > much more definitive and more correct IMHO.  Yes, we are taking
> > other steps to ensure that the permission on the PHP scripts for
> > our site are correct, but mistakes do happen and we want to
> > guarantee that our customers have as good an experience as possible
> > in the case of unexpected errors (as any enterprise site should).
> >
> > Thoughts?
> >
> > Thanks,
> >
> > Ryan Dingman
> > [EMAIL PROTECTED]
> > Next Online Mortgage Technologies
> >
> 
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
> 

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to