Re: Patch for php_error_cb
| From: | Blake Matheny | Date: | Tue, 17 May 2005 12:04:10 +0000 |
| Subject: | Re: Patch for php_error_cb | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-16264@lists.php.net to get a copy of this message | ||
Is there anything incorrect/wrong with the solution I proposed? I realize that a custom extension would also work, but there are several advantages to doing it the way I implemented it
- No need to add an extension every time you upgrade PHP
- No additional patching (which an extension essentially requires)
- Only adds a couple of extra operations (no performance hit)
- Backwards compatible with existing php.ini
- Possibility for other prefixes (script:,file:,socket:,etc)
Obviously I'd like this included in the tree, and if it won't be possible in the current implementation how should it be done? Ultimately having something like this that is just part of PHP is ideal from a maintenance standpoint. Thanks for the input.
- Blake
Derick Rethans wrote:
On Mon, 16 May 2005, George Schlossnagle wrote:-- Blake Matheny 3GUpload.com, Inc. Director of Technology 317-472-4962 (W) 317-201-2840 (C) bmatheny@3gupload.comOn May 16, 2005, at 3:16 PM, Blake Matheny wrote:But make sure you call the original one after that... otherwise you might break other extensions that modify the error_cb (like Xdebug). DerickAttached is a small patch that allows for a custom error handler to be used instead of php_log_err. This is useful for custom logging of error types that can't be handled with a user-space error handler (such as E_ERROR, E_PARSE, etc.). In order to use a custom error handler set error_log to so:/path/to/so in the php.ini file, where the shared object has a function called error_handler with the following prototype:This is already possible without your patch: just write a php extension and change the zend_error_cb function pointer to your custom C function in MINIT.