[PHP5.0.3RC1] C Extension Function not Found Anymore

php.internals

Bruce Bailey

21 years ago
I have an extension written in C running with PHP4.3.9 on RH8. All functions performed as expected. When I upgraded to PHP5.0.3RC1, for some reason when I try to call a particular function, httpd (or php) dumps core. It seems to be only one function. The rest appear to work as I expect them to. I added some file tracing at the very beginning of the function, (just after the local variable declarations and before the call to zend_parse_parameters). The trace is never being executed. As far as I can tell, my function is never being called – it appears that the interpreter is dying. I don't see any errors in the PHP error log, as I might expect if the function name were mistyped or something like that. Have there been changes in the way that functions are looked up or called? How many characters of the function name are used to discriminate between functions? Is there a way I can examine the function name/function pointer cross reference table? Thanks in advance, Bruce _________________________________________________________________ Don’t just search. Find. Check out the new MSN Search! http://search.msn.click-url.com/go/onm00200636ave/direct/01/

Bruce Bailey

21 years ago
Oops! This was my error, sorry . . . Bruce
>From: "Bruce Bailey" <bruce1828@hotmail.com> >To: internals@lists.php.net >Subject: [PHP-DEV] [PHP5.0.3RC1] C Extension Function not Found Anymore >Date: Wed, 08 Dec 2004 15:01:01 -0800 > >I have an extension written in C running with PHP4.3.9 on RH8. All >functions performed as expected. When I upgraded to PHP5.0.3RC1, for some >reason when I try to call a particular function, httpd (or php) dumps core. > It seems to be only one function. The rest appear to work as I expect >them to. I added some file tracing at the very beginning of the function, >(just after the local variable declarations and before the call to >zend_parse_parameters). The trace is never being executed. > >As far as I can tell, my function is never being called – it appears that >the interpreter is dying. I don't see any errors in the PHP error log, as >I might expect if the function name were mistyped or something like that. > >Have there been changes in the way that functions are looked up or called? >How many characters of the function name are used to discriminate between >functions? >Is there a way I can examine the function name/function pointer cross >reference table? > >Thanks in advance, > >Bruce > >_________________________________________________________________ >Don’t just search. Find. Check out the new MSN Search! >http://search.msn.click-url.com/go/onm00200636ave/direct/01/ > >-- >PHP Internals - PHP Runtime Development Mailing List >To unsubscribe, visit: http://www.php.net/unsub.php >
_________________________________________________________________ Express yourself instantly with MSN Messenger! Download today - it's FREE! hthttp://messenger.msn.click-url.com/go/onm00200471ave/direct/01/

Derick Rethans

21 years ago
On Wed, 8 Dec 2004, Bruce Bailey wrote:
> I have an extension written in C running with PHP4.3.9 on RH8. All > functions performed as expected. When I upgraded to PHP5.0.3RC1, for some > reason when I try to call a particular function, httpd (or php) dumps core.
Where is the back trace, and where is the code? We can not guess your problems from this little information of course.
> Have there been changes in the way that functions are looked up or called?
Normal function calling should not have changed.
> How many characters of the function name are used to discriminate between > functions?
All characters in the function name.
> Is there a way I can examine the function name/function pointer cross > reference table?
You can, but you'll have to manually step with a debugger through the function_table's hash.. .and it tends to get rather large. regards, Derick
-- Derick Rethans http://derickrethans.nl | http://ez.no | http://xdebug.org