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>&lt;php-install-directory&gt;/lib/php/extension/&lt;debug-or-not&gt;-&lt;zts-or-not&gt;-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>


Reply via email to