|   | php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
| 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits              [2006-05-24 22:02 UTC] tony2001@php.net
 | |||||||||||||||||||||||||||
|  Copyright © 2001-2025 The PHP Group All rights reserved. | Last updated: Fri Oct 31 17:00:02 2025 UTC | 
Description: ------------ I am writing a soap server which shall use dynamically loaded modules ( like dl('.../mymodule.so' ). Loading this module works so far and produces no error. Accessing the function supplied by this module causes an error telling that this function is not available in the SOAP module. It looks like PHP or SOAP causes the function mapper to look only in the SOAP module for the new function. I can "work around" this bug by putting my modules.so in php.ini. So my the supplied function is found inside the soap callback. Reproduce code: --------------- <?php // base64Binary function getCustomizedFont($symbol) { return confirm_customize_font_compiled('xxxxxxx') ; } if(!extension_loaded('customize_font')) { dl('../../../../root/php-5.1.2/ext/customize_font/.libs/customize_font.' . PHP_SHLIB_SUFFIX); } ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache $server = new SoapServer("customizeFont.wsdl"); $server->addFunction("getCustomizedFont"); $server->handle(); ?> Expected result: ---------------- Congratulations! You have successfully modified ext/customize_font/config.m4. Module customize_font is now compiled into PHP. Actual result: -------------- PHP Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Server] Call to undefined function confirm_customize_font_compiled() in /root/php-5.1.2/ext/customize_font/client.php:4 Stack trace: #0 [internal function]: SoapClient->__call('getCustomizedFo...', Array) #1 /root/php-5.1.2/ext/customize_font/client.php(4): SoapClient->getCustomizedFont('ibm') #2 {main} thrown in /root/php-5.1.2/ext/customize_font/client.php on line 4