mirror of
https://github.com/macintoshplus/doc-fr.git
synced 2026-03-26 01:42:09 +01:00
179 lines
5.6 KiB
XML
179 lines
5.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: 7639cf87731d902f2d2dbdcd34447b80e24bb80a Maintainer: yannick Status: ready -->
|
|
<!-- Reviewed: yes -->
|
|
<refentry xml:id="function.dl" xmlns="http://docbook.org/ns/docbook">
|
|
<refnamediv>
|
|
<refname>dl</refname>
|
|
<refpurpose>Charge une extension PHP à la volée</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<methodsynopsis>
|
|
<type>bool</type><methodname>dl</methodname>
|
|
<methodparam><type>string</type><parameter>extension_filename</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
Charge l'extension PHP <parameter>extension_filename</parameter>
|
|
à la volée.
|
|
</para>
|
|
<para>
|
|
Utilisez la fonction <function>extension_loaded</function> pour vérifier
|
|
qu'une extension est chargée ou non. Cette fonction travaille aussi bien
|
|
avec les extensions natives qu'avec les extensions dynamiquement
|
|
chargées (via le &php.ini; ou <function>dl</function>).
|
|
</para>
|
|
<warning>
|
|
<simpara>
|
|
Cette fonction a été supprimée de la plupart des SAPIs dans PHP 5.3.0, et a
|
|
été supprimé de PHP-FPM dans php 7.0.0.
|
|
</simpara>
|
|
</warning>
|
|
</refsect1>
|
|
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>extension_filename</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Ce paramètre est <emphasis>seulement</emphasis> le nom de fichier
|
|
de l'extension, qui dépend de votre plate-forme. Par exemple l'extension
|
|
<link linkend="ref.sockets">sockets</link> (si compilée comme module
|
|
partagé, et non par défaut), sera appelée <filename>sockets.so</filename>
|
|
sous Unix, et <filename>php_sockets.dll</filename> sous Windows.
|
|
</para>
|
|
<para>
|
|
Le dossier à partir duquel sont chargées vos extensions dépend de votre
|
|
plate-forme :
|
|
</para>
|
|
<para>
|
|
Windows - S'il n'est pas explicitement indiqué dans le fichier &php.ini;,
|
|
l'extension est chargée depuis <filename>C:\php5\</filename> par défaut.
|
|
</para>
|
|
<para>
|
|
Unix - S'il n'est pas explicitement indiqué dans le fichier &php.ini;,
|
|
le dossier des extensions dépend de
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
Si PHP a été compilé avec l'option <literal>--enable-debug</literal>
|
|
ou non
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Si PHP a été compilé avec le support (expérimental) de ZTS
|
|
(<literal>Zend Thread Safety</literal>) ou non
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
de la constante interne <literal>ZEND_MODULE_API_NO</literal>
|
|
(version interne de module d'API Zend, qui est en réalité la date
|
|
à laquelle une modification importante de l'API a été faite,
|
|
par exemple <literal>20010901</literal>)
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
En prenant ces paramètres en considération, le dossier des extensions
|
|
vaut alors
|
|
<literal><install-dir>/lib/php/extensions/ <debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO</literal>,
|
|
e.g.
|
|
<filename>/usr/local/php/lib/php/extensions/debug-non-zts-20010901</filename>
|
|
ou
|
|
<filename>/usr/local/php/lib/php/extensions/no-debug-zts-20010901</filename>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="returnvalues">
|
|
&reftitle.returnvalues;
|
|
<para>
|
|
&return.success; Si la fonctionnalité de chargement de module n'est pas
|
|
disponible, ou a été désactivée (en désactivant la directive
|
|
<link linkend="ini.enable-dl">enable_dl</link>
|
|
dans le &php.ini;) une <constant>E_ERROR</constant> sera émise et
|
|
l'exécution du script sera stoppée. Si la fonction
|
|
<function>dl</function> échoue parce que la bibliothèque n'a pu être
|
|
trouvée, <function>dl</function> retournera &false; et émettra un
|
|
message d'alerte <constant>E_WARNING</constant>.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
<example>
|
|
<title>Exemples avec <function>dl</function></title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// Chargement pour toutes plates-formes
|
|
if (!extension_loaded('sqlite')) {
|
|
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
|
|
dl('php_sqlite.dll');
|
|
} else {
|
|
dl('sqlite.so');
|
|
}
|
|
}
|
|
|
|
// Ou utiliser la constante PHP_SHLIB_SUFFIX
|
|
if (!extension_loaded('sqlite')) {
|
|
$prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
|
|
dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="notes">
|
|
&reftitle.notes;
|
|
<note>
|
|
<para>
|
|
<function>dl</function> est sensible à la casse sur les plates-formes Unix.
|
|
</para>
|
|
</note>
|
|
</refsect1>
|
|
|
|
<refsect1 role="seealso">
|
|
&reftitle.seealso;
|
|
<para>
|
|
<simplelist>
|
|
<member><link linkend="ini.extension">Directives de chargement d'extensions</link></member>
|
|
<member><function>extension_loaded</function></member>
|
|
</simplelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
</refentry>
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|