- Update docs.

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@81289 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Markus Fischer 2002-05-05 16:48:17 +00:00
parent 49917da608
commit 7590b3dabe
2 changed files with 124 additions and 16 deletions

View file

@ -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>

View file

@ -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.2 -->
<refentry id="function.extension-loaded">
<refnamediv>
@ -12,18 +12,49 @@
<type>bool</type><methodname>extension_loaded</methodname>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
</methodsynopsis>
<simpara>
Returns &true; if the extension identified by
<parameter>name</parameter> is loaded. You can see the names of
various extensions by using <function>phpinfo</function>.
</simpara>
<para>
Returns &true; if the extension identified by <parameter>name</parameter>
is loaded, &false; otherwise.
</para>
<para>
You can see the names of various extensions by using
<function>phpinfo</function> or if you're usnig the
<literal>CGI</literal> or <literal>CLI</literal> version of
<literal>PHP</literal> you can use the <literal>-m</literal> switch to
list all available extensions:
<screen>
$ php -m
Running PHP 4.3.0-dev
Zend Engine v1.2.1, Copyright (c) 1998-2002 Zend Technologies
[PHP Modules]
xml
tokenizer
standard
sockets
session
posix
pcre
overload
mysql
mbstring
ctype
[Zend Modules]
</screen>
</para>
<note>
<para>
<function>extension_loaded</function> uses the internal extension name
to test whether a certain extension is available or not. Most internal
extension names are written in lower case but there may be extension
available which also use uppercase letters. Be warned that this
function compares <emphasis role="strong">case sensitive</emphasis> !
</para>
</note>
<para>
See also <function>phpinfo</function>.
<note>
<para>
This function was added in 3.0.10.
</para>
</note>
</para>
</refsect1>
</refentry>