note 33739 added to function.dl
| From: | tychay@php.net | Date: | Sun, 06 Jul 2003 01:15:16 +0000 |
| Subject: | note 33739 added to function.dl | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-51574@lists.php.net to get a copy of this message | ||
Alan isn't 100% correct (though he's close). The exception is Mac OS X. This operating
system makes a distinction between dynamically loadable shared libraries and and loadable modules of
code (bundles). The former has an extension .dylib and the latter has an extension .so. The former
is in Mac-O and the latter is in ELF.
Thus PHP's extensions are built as .so whereas the symbol PHP_SHLIB_SUFFIX is bound (currently)
to .dylib. I don't think this is the correct behavior, but nonetheless, it is the behavior as
of PHP-5.0.0b2-dev. Right now, the config binds to SHLIB_SUFFIX_NAME (which is correctly bound to
.dylib on Mac OS X). I imagine this is related to why there is so much trouble getting dl() to work
on Mac OS X. (For instance, I have no trouble phpizing in a new shared library, but when compiling
in stuff as shared... much evilness!)
BTW, to get dl() to work in Mac OS X you need to install the dlcompat library (via Fink,
DarwinPorts, or Gentoo ports). Remember in the case of Fink, you better make sure your environment
variables are adjusted to point to where dlcompat (and your other fink libraries) are.
terry
----
Manual Page -- http://www.php.net/manual/en/function.dl.php
Edit Note -- http://master.php.net/manage/user-notes.php?action=edit+33739
Delete Note -- http://master.php.net/manage/user-notes.php?action=delete+33739&report=yes
Reject Note -- http://master.php.net/manage/user-notes.php?action=reject+33739&report=yes