From: bhoehl at linotype dot com
Operating system: Redhat ES4
PHP version: 5.1.3
PHP Bug Type: SOAP related
Bug description: Dynamic loading of modules
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
--
Edit bug report at http://bugs.php.net/?id=37271&edit=1
--
Try a CVS snapshot (PHP 4.4):
http://bugs.php.net/fix.php?id=37271&r=trysnapshot44
Try a CVS snapshot (PHP 5.1):
http://bugs.php.net/fix.php?id=37271&r=trysnapshot51
Try a CVS snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=37271&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=37271&r=fixedcvs
Fixed in release:
http://bugs.php.net/fix.php?id=37271&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=37271&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=37271&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=37271&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=37271&r=support
Expected behavior: http://bugs.php.net/fix.php?id=37271&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=37271&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=37271&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=37271&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=37271&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=37271&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=37271&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=37271&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=37271&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=37271&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=37271&r=mysqlcfg