modules/embedded function and Mac OSX

php.internals

D . Walsh

21 years ago
I've been having some problems building some modules or embedding the function in PHP. I've attempted to build several different modules and all give the same results. If I build as a module, placing an 'extension=' entry in php.ini causes a dylib error. dyld: /usr/sbin/httpd Undefined symbols: __array_init __convert_to_string __efree __emalloc __estrdup __estrndup _add_assoc_long_ex _add_next_index_double _add_next_index_string _convert_to_array _convert_to_long ________________________________________________________________________ _ Without the 'extension=' entry in php.ini, placing an entry in my php script "dl('module.so');" results in the following log entry: [Fri Feb 4 06:12:38 2005] [error] PHP Warning: module: Unable to register functions, unable to load in Unknown on line 0 ________________________________________________________________________ _ If I use this entry in my php script, the module functions work properly. if (!function_exists('my_function') && @dl('module.so')) { } ________________________________________________________________________ _ Is there anything specific I need to do for Mac OSX to build modules or embed them in PHP so they work properly?

Andrei Zmievski

21 years ago
Make sure it was compiled as a bundle and not as a shared library. There is a difference. Run this: % file <path> And if it replies "Mach-O dynamically linked shared library ppc", it was compiled in the wrong way. The latest updates to build system should fix this automatically. On Fri, 04 Feb 2005, D.Walsh wrote:
> I've been having some problems building some modules or embedding the > function in PHP. > > I've attempted to build several different modules and all give the same > results. > > If I build as a module, placing an 'extension=' entry in php.ini > causes a dylib error. > > dyld: /usr/sbin/httpd Undefined symbols: > __array_init > __convert_to_string > __efree > __emalloc > __estrdup > __estrndup > _add_assoc_long_ex > _add_next_index_double > _add_next_index_string > _convert_to_array > _convert_to_long > > ________________________________________________________________________ > _ > > > Without the 'extension=' entry in php.ini, placing an entry in my php > script "dl('module.so');" results in the following log entry: > > [Fri Feb 4 06:12:38 2005] [error] PHP Warning: module: Unable to > register functions, unable to load in Unknown on line 0 > > ________________________________________________________________________ > _ > > > If I use this entry in my php script, the module functions work > properly. > > if (!function_exists('my_function') && @dl('module.so')) { > } > > ________________________________________________________________________ > _ > > > Is there anything specific I need to do for Mac OSX to build modules or > embed them in PHP so they work properly? > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php
- Andrei