cvs: phpdoc /en/reference/info/functions dl.xml

From: Date: Sun, 05 May 2002 16:47:57 +0000
Subject: cvs: phpdoc /en/reference/info/functions dl.xml
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969345275@lists.php.net to get a copy of this message
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>

« previous php.doc (#969345275) next »