mfischer Sun May 5 12:47:57 2002 EDT
Modified files:
/phpdoc/en/reference/info/functions dl.xml
Log:
- Update docs.
Index: phpdoc/en/reference/info/functions/dl.xml
diff -u phpdoc/en/reference/info/functions/dl.xml:1.2
phpdoc/en/reference/info/functions/dl.xml:1.3
--- phpdoc/en/reference/info/functions/dl.xml:1.2 Wed Apr 17 02:39:24 2002
+++ phpdoc/en/reference/info/functions/dl.xml Sun May 5 12:47:54 2002
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.2 $ -->
+<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/info.xml, last change in rev 1.29 -->
<refentry id="function.dl">
<refnamediv>
@@ -9,13 +9,90 @@
<refsect1>
<title>Description</title>
<methodsynopsis>
- <type>int</type><methodname>dl</methodname>
+ <type>bool</type><methodname>dl</methodname>
<methodparam><type>string</type><parameter>library</parameter></methodparam>
</methodsynopsis>
<para>
- Loads the PHP extension defined in
- <parameter>library</parameter>. See also the <link
- linkend="ini.sect.extension">Extension Loading Directives</link>
+ Loads the PHP extension given by the parameter
+ <parameter>library</parameter>. The <parameter>library</parameter>
+ parameter is <emphasis>only</emphasis> the filename of the extension to
+ load which also depends on your platform. For example, the <link
+ linkend="ref.sockets">sockets</link> extension (if compiled as a shared
+ module, not the default!) would be called <literal>sockets.so</literal>
+ on unix platforms whereas it is called <literal>php_sockets.dll</literal>
+ on the windows platform.
+ </para>
+ <para>
+ &return.success; If the functionality of loading modules is not available
+ (see Note) or has been disabled (either by turning it off
+ <literal>enable_dl</literal> or by enabling <literal>safe_mode</literal>
+ in <literal>PHP.INI</literal>) an <constant>E_ERROR</constant> is emitted
+ and execution is stopped. If <function>dl</function> fails because the
+ specified library couldn't be loaded, in addition to &false; an
+ <constant>E_WARNING</constant> message is emitted.
+ </para>
+ <para>
+ The directory where the extension is loaded from depends on your
+ platform, too:
+ </para>
+ <para>
+ Windows - If not explicitly set in the <literal>PHP.INI</literal>,
+ the extension is loaded from <literal>c:\php4\extensions\</literal> by
+ default.
+ </para>
+ <para>
+ Unix - If not explicitly set in the <literal>PHP.INI</literal>, the
+ default extension directory depends on
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ whether PHP has been built with <literal>--enable-debug</literal> or
+ not
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ whether PHP has been built with (experimental) ZTS (Zend Thread Safety)
+ support or not
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ the current internal <literal>ZEND_MODULE_API_NO</literal> (Zend
+ internal module API number, which is basically the date on which a
+ major module API change happened, e.g. <literal>20010901</literal>)
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ Taking into account the above, the directory then defaults to
+
+<literal><php-install-directory>/lib/php/extension/<debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO</literal>,
+ e.g.
+ <literal>/usr/local/php/lib/php/extensions/debug-non-zts-20010901</literal>
+ or <literal>/usr/local/php/lib/php/extensions/no-debug-zts-20010901</literal>.
+ </para>
+ <note>
+ <para>
+ <function>dl</function> is <emphasis>not</emphasis> supported in
+ multithreaded Web servers. Use the <literal>extensions</literal>
+ statement in your <literal>PHP.INI</literal> when operating under such
+ an environment. However, the <literal>CGI</literal> and
+ <literal>CLI</literal> build are <emphasis role="strong">not</emphasis>
+ affected !
+ </para>
+ </note>
+ <note>
+ <para>
+ <function>dl</function> is case sensitive on unix platforms.
+ </para>
+ </note>
+ <para>
+ Use <function>extension_loaded</function> to test whether a given
+ extension is already available or not.
+ </para>
+ <para>
+ See also
+ <link linkend="ini.sect.extension">Extension Loading Directives</link>
+ and <function>extension_loaded</function>.
</para>
</refsect1>
</refentry>