<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.ainw.org/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Mon wiki - obsolete:informatique:php</title>
        <description></description>
        <link>https://www.ainw.org/wiki/</link>
        <lastBuildDate>Tue, 23 Jun 2026 15:30:31 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://www.ainw.org/wiki/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
            <title>Mon wiki</title>
            <link>https://www.ainw.org/wiki/</link>
        </image>
        <item>
            <title>doxygen</title>
            <link>https://www.ainw.org/wiki/doku.php?id=obsolete:informatique:php:doxygen&amp;rev=1732132156&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;doxygen&quot;&gt;Doxygen&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
C&amp;#039;est un générateur de documentation capable de produire une documentation logicielle à partir du code source d&amp;#039;un programme. Pour cela, il tient compte de la grammaire du language dans lequel est écrit le code source, ainsi que des commentaires.
&lt;/p&gt;

&lt;p&gt;
Le contenu de cette page est valable dans le cadre de la documentation d&amp;#039;un projet en PHP. Pour plus de renseignements, il faut se référer à la &lt;a href=&quot;http://www.stack.nl/~dimitri/doxygen/manual/index.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.stack.nl/~dimitri/doxygen/manual/index.html&quot; rel=&quot;ugc nofollow&quot;&gt;documentation officielle&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Doxygen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;doxygen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-507&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;definition_d_un_bloc_de_documentation&quot;&gt;Définition d&amp;#039;un bloc de documentation&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Il y a plusieurs moyen de définir un bloc de documentation. Le plus simple à utiliser avec Netbeans est le JavaDoc :
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;pre class=&quot;code php&quot;&gt;&lt;span class=&quot;co4&quot;&gt;/**
 *
 */&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
En effet, il est reconnu par défaut et récupère automatiquement paramètres, valeur de retour et exceptions.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;D\u00e9finition d&amp;#039;un bloc de documentation&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;definition_d_un_bloc_de_documentation&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;508-842&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;mots-clefs&quot;&gt;Mots-clefs&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Dans la description des commandes décrites, les valeurs entre “&amp;lt;&amp;gt;” sont obligatoires, celles entre “{}” sont optionnelles.&lt;br/&gt;

Doxygen reconnait deux syntaxes différentes pour les commandes, celle avec le &lt;strong&gt;@&lt;/strong&gt; et celle avec le &lt;strong&gt;\&lt;/strong&gt;. Les listes suivantes contiennent un mélange des deux syntaxes car certaines commande commençant par &lt;strong&gt;@&lt;/strong&gt; sont interprétées par PHPUnit.&lt;br/&gt;

Pour la liste complète des mots-clefs, il faut se référer à la &lt;a href=&quot;http://www.stack.nl/~dimitri/doxygen/manual/commands.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.stack.nl/~dimitri/doxygen/manual/commands.html&quot; rel=&quot;ugc nofollow&quot;&gt;documentation officielle&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mots-clefs&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mots-clefs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;843-1398&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;description&quot;&gt;Description&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;@author {description}&lt;/code&gt; : définition de l&amp;#039;auteur.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;\bug {description}&lt;/code&gt; : définition des bugs présents dans l&amp;#039;entité.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;@deprecated {description}&lt;/code&gt; : indication que l&amp;#039;entité est obsolète.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;@exception &amp;lt;objet&amp;gt; {description}&lt;/code&gt; : définition d&amp;#039;une exception qui peut être générée par l&amp;#039;entité.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;@param &amp;lt;type&amp;gt; &amp;lt;nom&amp;gt; {description}&lt;/code&gt; : définition d&amp;#039;un ou de plusieurs paramètres de l&amp;#039;entité.&lt;br/&gt;
Le type peut être composé si les valeurs sont séparées par des “|”.&lt;br/&gt;
Le nom peut être composé si les valeurs sont séparées par des “,”.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;@return {description}&lt;/code&gt; : définition de la valeur de retour de l&amp;#039;entité.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;@see {description}&lt;/code&gt; : définition de références pour l&amp;#039;entité.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;@since {description}&lt;/code&gt; : définition de l&amp;#039;apparition de l&amp;#039;entité. Ça peut être une date, un numéro de version ou tout autre moyen de définir le moment d&amp;#039;apparition de l&amp;#039;entité.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;\test {description}&lt;/code&gt; : définition des cas de tests de l&amp;#039;entité.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;@todo {description}&lt;/code&gt; : définition de tâches à faire pour améliorer l&amp;#039;entité.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Description&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;description&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1399-2497&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;mise_en_forme&quot;&gt;Mise en forme&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;\a {mot}&lt;/code&gt; : met le mot qui suit en italique.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;\b {mot}&lt;/code&gt; : met le mot qui suit en gras.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;\c {mot}&lt;/code&gt; : met le mot qui suit dans une police de type machine à écrire.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;\li {description}&lt;/code&gt; : permet de générer une liste de valeurs.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;\n&lt;/code&gt; : force l&amp;#039;insertion d&amp;#039;une nouvelle ligne.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;\verbatim&lt;/code&gt; : commence un bloc qui affiche le texte tel quel. Les fonctions sont désactivées dans un tel bloc. Le bloc doit se terminer impérativement par &lt;code&gt;\endverbatim&lt;/code&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mise en forme&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mise_en_forme&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2498-3010&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;configuration&quot;&gt;Configuration&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
La configuration se fait dans un fichier ini. Il peut être utilisé en ligne de commande ou par l&amp;#039;outil Doxywizard. Il peut être généré manuellement, en ligne de commande ou par l&amp;#039;outil Doxywizard.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;ALIASES&lt;/strong&gt; : ajoute des nouvelles commandes qui seront affichées dans la documentation.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;CLASS_DIAGRAMS&lt;/strong&gt; : insère un diagramme de classe si la valeur est &lt;code&gt;YES&lt;/code&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;INPUT&lt;/strong&gt; : liste de fichiers et répertoires contenant des sources commentées.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;JAVADOC_AUTOBRIEF&lt;/strong&gt; : génère automatiquement la description courte à partir de la première ligne si la valeur est &lt;code&gt;YES&lt;/code&gt;. Si la valeur est &lt;code&gt;NO&lt;/code&gt;, il faut utiliser la commande &lt;code&gt;\brief&lt;/code&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;OUTPUT_DIRECTORY&lt;/strong&gt; : défini le répertoire de génération de la documentation.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;PROJECT_BRIEF&lt;/strong&gt; : défini une courte description du projet qui apparait sous le nom du projet.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;PROJECT_LOGO&lt;/strong&gt; : défini le chemin d&amp;#039;accès au logo du projet. La taille maximale du logo est 55&amp;times;200.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;PROJECT_NAME&lt;/strong&gt; : défini le nom du projet.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;RECURSIVE&lt;/strong&gt; : indique si la recherche de documentation se fait de manière récursive ou non.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;REPEAT_BRIEF&lt;/strong&gt; : répète la description courte avant la description détaillée si la valeur est &lt;code&gt;YES&lt;/code&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;SOURCE_BROWSER&lt;/strong&gt; : insère les sources si la valeur est &lt;code&gt;YES&lt;/code&gt;. La documentation est automatiquement liée au code et inversement.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;STRIP_FROM_PATH&lt;/strong&gt; : défini la partie du chemin d&amp;#039;accès à ne pas faire apparaître dans la description du fichier source.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Pour la liste complète des options de configuration, il faut se référer à la &lt;a href=&quot;http://www.stack.nl/~dimitri/doxygen/manual/config.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.stack.nl/~dimitri/doxygen/manual/config.html&quot; rel=&quot;ugc nofollow&quot;&gt;documentation officielle&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Configuration&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;configuration&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;3011-4693&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;commandes&quot;&gt;Commandes&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Doxygen est destiné à être utilisé en ligne de commande. La génération de documentation peut donc être automatisée.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;doxygen -h&lt;/code&gt; : affiche la page de manuel.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;doxygen [-v] -g [fichier]&lt;/code&gt; : génère un modèle de fichier de configuration.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;doxygen [-v] -u [fichier]&lt;/code&gt; : met à jour un fichier de configuration d&amp;#039;une ancienne version.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;doxygen [fichier]&lt;/code&gt; : génère la documentation en suivant les règles du fichier de configuration.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Le nom du fichier de configuration peut être omis. Le nom par défaut est &lt;strong&gt;Doxyfile&lt;/strong&gt;.&lt;br/&gt;

Le drapeau &lt;code&gt;v&lt;/code&gt; indique de ne pas générer de commentaire dans le fichier de configuration.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Commandes&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;commandes&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;4694-5364&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;examples_de_fichiers&quot;&gt;Examples de fichiers&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Avec les deux fichiers ci-dessous, il est possible de générer une documentation basique.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Examples de fichiers&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;examples_de_fichiers&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;5365-5488&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;configuration1&quot;&gt;Configuration&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://www.ainw.org/wiki/doku.php?do=export_code&amp;amp;id=obsolete:informatique:php:doxygen&amp;amp;codeblock=1&quot; title=&quot;Télécharger cet extrait&quot; class=&quot;mediafile mf_&quot;&gt;Doxyfile&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file ini&quot;&gt;&lt;span class=&quot;re1&quot;&gt;PROJECT_NAME&lt;/span&gt;      &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;My really special project&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;PROJECT_BRIEF&lt;/span&gt;     &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;So special&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;OUTPUT_DIRECTORY&lt;/span&gt;  &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; C:/Test&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;REPEAT_BRIEF&lt;/span&gt;      &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; NO&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;STRIP_FROM_PATH&lt;/span&gt;   &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; C:/Test&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;JAVADOC_AUTOBRIEF&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; YES&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;INPUT&lt;/span&gt;             &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; C:/Test&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;RECURSIVE&lt;/span&gt;         &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; NO&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;SOURCE_BROWSER&lt;/span&gt;    &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; YES&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;CLASS_DIAGRAMS&lt;/span&gt;    &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; NO&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Configuration&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;configuration1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;5489-5846&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit14&quot; id=&quot;source&quot;&gt;Source&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://www.ainw.org/wiki/doku.php?do=export_code&amp;amp;id=obsolete:informatique:php:doxygen&amp;amp;codeblock=2&quot; title=&quot;Télécharger cet extrait&quot; class=&quot;mediafile mf_php&quot;&gt;test.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file php&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;co4&quot;&gt;/**
 * The Test class do something.
 * The Test class do something really nice but I wont tell :).
 *
 * @author Me, Myself and I
 * @since version 1.0.0
 * @todo Replace test method by something better.
 */&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;class&lt;/span&gt; Test
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;co4&quot;&gt;/**
     * The test method do something.
     * The test method do something really nice but I wont tell :).
     *
     * @param string  $param1 the first parameter.
     * @param integer $param2 the second parameter.
     * @return a string wich is a concatenation of the inputs
     *
     * @author Me, Myself and I
     * @since version 1.0.0
     * @deprecated since version 2.0.0
     */&lt;/span&gt;
    &lt;span class=&quot;kw2&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;function&lt;/span&gt; test&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$param1&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$param2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;re0&quot;&gt;$something&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$param1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$param2&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$something&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Source&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;source&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;5847-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 20 Nov 2024 19:49:16 +0000</pubDate>
        </item>
        <item>
            <title>installer_hhvm_sur_ubuntu_15.10</title>
            <link>https://www.ainw.org/wiki/doku.php?id=obsolete:informatique:php:installer_hhvm_sur_ubuntu_15.10&amp;rev=1732469553&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;installer_hhvm_sur_ubuntu_1510&quot;&gt;Installer HHVM sur Ubuntu 15.10&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# Gère les dépôts utilisés pour installer des programmes (common)&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;apt-get install&lt;/span&gt; software-properties-common
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Ajoute la clé publique &lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;apt-key adv&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--keyserver&lt;/span&gt; hkp:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;keyserver.ubuntu.com:&lt;span class=&quot;nu0&quot;&gt;80&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--recv-keys&lt;/span&gt; 0x5a16e7281be7a449
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Ajout des dépôts de HHVM à la liste existante&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; add-apt-repository &lt;span class=&quot;st0&quot;&gt;&amp;quot;deb http://dl.hhvm.com/ubuntu &lt;span class=&quot;es4&quot;&gt;$(lsb_release -sc)&lt;/span&gt; main&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Mise à jour des dépots&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;apt-get update&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Installe HHVM&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;apt-get install&lt;/span&gt; hhvm&lt;/pre&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
Pour plus d&amp;#039;informations, voir la &lt;a href=&quot;https://docs.hhvm.com/hhvm/installation/linux#ubuntu-15.10-wily-werewolf&quot; class=&quot;urlextern&quot; title=&quot;https://docs.hhvm.com/hhvm/installation/linux#ubuntu-15.10-wily-werewolf&quot; rel=&quot;ugc nofollow&quot;&gt;page officielle&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 24 Nov 2024 17:32:33 +0000</pubDate>
        </item>
        <item>
            <title>utiliser_plusieurs_versions_de_php_sur_la_version_serveur_de_ubuntu_12.04_lts</title>
            <link>https://www.ainw.org/wiki/doku.php?id=obsolete:informatique:php:utiliser_plusieurs_versions_de_php_sur_la_version_serveur_de_ubuntu_12.04_lts&amp;rev=1732469656&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;utiliser_plusieurs_versions_de_php_sur_la_version_serveur_de_ubuntu_1204_lts&quot;&gt;Utiliser plusieurs versions de PHP sur la version serveur de Ubuntu 12.04 LTS&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Par défaut, la version de PHP installée sur cette version est la version 5.3.10. Voici les différentes étapes pour pouvoir utiliser plusieurs versions de PHP simultanement avec Apache.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Utiliser plusieurs versions de PHP sur la version serveur de Ubuntu 12.04 LTS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;utiliser_plusieurs_versions_de_php_sur_la_version_serveur_de_ubuntu_1204_lts&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-281&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;installation_des_bibliotheques_necessaires&quot;&gt;Installation des bibliothèques nécessaires&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# Bibliothèques pour la compilation&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;apt-get install&lt;/span&gt; libxml2-dev \
libssl-dev \
libbz2-dev \
libcurl4-openssl-dev \
libpng-dev \
libjpeg-dev \
libmcrypt-dev \
libicu-dev \
libldap2-dev \
&lt;span class=&quot;kw2&quot;&gt;autoconf&lt;/span&gt; \
&lt;span class=&quot;kw2&quot;&gt;g++&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Bibliothèques pour l&#039;installation&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;apt-get install&lt;/span&gt; chkconfig \
libapache2-mod-fastcgi&lt;/pre&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Installation des biblioth\u00e8ques n\u00e9cessaires&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installation_des_bibliotheques_necessaires&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;282-671&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;compilation_de_php&quot;&gt;Compilation de PHP&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# récupération du code source&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;wget&lt;/span&gt; http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;ca3.php.net&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;get&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;php-5.5.12.tar.bz2&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;from&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;a&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mirror
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# extraction de l&#039;archive&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;tar&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-xjf&lt;/span&gt; php-5.5.12.tar.bz2
&amp;nbsp;
&lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; php-5.5.12
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# configuration des paramètres de compilation&lt;/span&gt;
.&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;configure &lt;span class=&quot;re5&quot;&gt;--prefix&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;local&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;php55 \
    &lt;span class=&quot;re5&quot;&gt;--with-config-file-path&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;php55 \
    &lt;span class=&quot;re5&quot;&gt;--with-config-file-scan-dir&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;php55&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;php.d \
    &lt;span class=&quot;re5&quot;&gt;--with-mysql&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--with-mysqli&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--with-pdo-mysql&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--with-bz2&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--with-curl&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--with-gettext&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--with-iconv-dir&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--with-openssl&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--with-mcrypt&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--with-gd&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--with-pcre-regex&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--with-zlib&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--disable-rpath&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--enable-mbstring&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--enable-soap&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--enable-fpm&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--with-fpm-user&lt;/span&gt;=www-data \
    &lt;span class=&quot;re5&quot;&gt;--with-fpm-group&lt;/span&gt;=www-data \
    &lt;span class=&quot;re5&quot;&gt;--with-pear&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--with-ldap&lt;/span&gt;=shared \
    &lt;span class=&quot;re5&quot;&gt;--enable-ftp&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--enable-intl&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;make&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-j4&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;make&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;php55
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;cp&lt;/span&gt; php.ini-production &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;php55&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;php.ini&lt;/pre&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
&lt;strong&gt;Notes&lt;/strong&gt; :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;--with-mysql&lt;/code&gt; ne doit plus être utilisé car l&amp;#039;extension n&amp;#039;est plus supportée &lt;sup&gt;&lt;a href=&quot;#fn__1&quot; id=&quot;fnt__1&quot; class=&quot;fn_top&quot;&gt;1)&lt;/a&gt;&lt;/sup&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;--with-mysqli&lt;/code&gt; et &lt;code&gt;--with-pdo-mysql&lt;/code&gt; utilisent par défaut la bibliothèque &lt;em&gt;libmysqlclient&lt;/em&gt;. Il est possible de la remplacer par la bibliothèque &lt;em&gt;mysqlnd&lt;/em&gt; qui est native &lt;sup&gt;&lt;a href=&quot;#fn__2&quot; id=&quot;fnt__2&quot; class=&quot;fn_top&quot;&gt;2)&lt;/a&gt;&lt;/sup&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Compilation de PHP&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;compilation_de_php&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;672-2131&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;configuration_de_apache_-_fastcgi&quot;&gt;Configuration de Apache - FastCGI&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Il faut commencer par activer le module FastCGI dans Apache.
&lt;/p&gt;

&lt;p&gt;
Ensuite, il faut créer le fichier &lt;em&gt;/var/www/cgi-bin/php-cgi-5.5&lt;/em&gt; :
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/sh&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;PHP_FCGI_CHILDREN&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;
&lt;span class=&quot;kw3&quot;&gt;export&lt;/span&gt; PHP_FCGI_CHILDREN
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;PHP_FCGI_MAX_REQUESTS&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;5000&lt;/span&gt;
&lt;span class=&quot;kw3&quot;&gt;export&lt;/span&gt; PHP_FCGI_MAX_REQUESTS
&amp;nbsp;
&lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;local&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;php55&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;php-cgi&lt;/pre&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
Puis rendre ce fichier exécutable.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Configuration de Apache - FastCGI&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;configuration_de_apache_-_fastcgi&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2132-2535&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;configuration_de_apache_-_virtualhost&quot;&gt;Configuration de Apache - VirtualHost&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Il faut configurer normalement le VirtualHost pour le site que nous voulons servir. Il faut cependant ajouter quelques instructions spécifiques à l&amp;#039;utilisation de FastCGI.
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Il faut ajouter l&amp;#039;option d&amp;#039;exécution de CGI&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;pre class=&quot;code apache&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;Options&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;Indexes&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;FollowSymLinks&lt;/span&gt; MultiViews ExecCGI&lt;/pre&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Il faut ajouter la méthode que l&amp;#039;on va utiliser pour manipuler les fichiers php :&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;pre class=&quot;code apache&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;AddHandler&lt;/span&gt; fastcgi .php&lt;/pre&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ll faut configurer la méthode que l&amp;#039;on va utiliser pour manipuler les fichiers php :&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;pre class=&quot;code apache&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;Action&lt;/span&gt; fastcgi /cgi-bin/php-cgi-&lt;span class=&quot;nu0&quot;&gt;5.5&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Il faut configurer l&amp;#039;alias utilisé à l&amp;#039;étape précédente :&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;pre class=&quot;code apache&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;ScriptAlias&lt;/span&gt; /cgi-bin/ &lt;span class=&quot;st0&quot;&gt;&amp;quot;/var/www/cgi-bin/&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Il faut configurer le dossier dans lequel se trouve les scripts utilisés par le module FastCGI :&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;pre class=&quot;code apache&quot;&gt;&amp;lt;&lt;span class=&quot;kw3&quot;&gt;Directory&lt;/span&gt; /var/www/cgi-bin/&amp;gt;
    &lt;span class=&quot;kw1&quot;&gt;AllowOverride&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;All&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;Options&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;None&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;Order&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;allow&lt;/span&gt;,&lt;span class=&quot;kw1&quot;&gt;deny&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;Allow&lt;/span&gt; from &lt;span class=&quot;kw2&quot;&gt;all&lt;/span&gt;
&amp;lt;/&lt;span class=&quot;kw3&quot;&gt;Directory&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Le résultat final devrait ressembler à ce qui suit :
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:22,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;pre class=&quot;code apache&quot;&gt;&amp;lt;&lt;span class=&quot;kw3&quot;&gt;VirtualHost&lt;/span&gt; *:&lt;span class=&quot;nu0&quot;&gt;80&lt;/span&gt;&amp;gt;
    &lt;span class=&quot;kw1&quot;&gt;ServerName&lt;/span&gt; project
    &lt;span class=&quot;kw1&quot;&gt;ServerAdmin&lt;/span&gt; webmaster@localhost
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;DocumentRoot&lt;/span&gt; /var/www/project
    &amp;lt;&lt;span class=&quot;kw3&quot;&gt;Directory&lt;/span&gt; /var/www/project&amp;gt;
        &lt;span class=&quot;kw1&quot;&gt;Options&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;Indexes&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;FollowSymLinks&lt;/span&gt; MultiViews ExecCGI
        &lt;span class=&quot;kw1&quot;&gt;AllowOverride&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;All&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;AddHandler&lt;/span&gt; fastcgi .php
        &lt;span class=&quot;kw1&quot;&gt;Action&lt;/span&gt; fastcgi /cgi-bin/php-cgi-&lt;span class=&quot;nu0&quot;&gt;5.5&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;Order&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;allow&lt;/span&gt;,&lt;span class=&quot;kw1&quot;&gt;deny&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;allow&lt;/span&gt; from &lt;span class=&quot;kw2&quot;&gt;all&lt;/span&gt;
    &amp;lt;/&lt;span class=&quot;kw3&quot;&gt;Directory&lt;/span&gt;&amp;gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;ScriptAlias&lt;/span&gt; /cgi-bin/ &lt;span class=&quot;st0&quot;&gt;&amp;quot;/var/www/cgi-bin/&amp;quot;&lt;/span&gt;
&amp;nbsp;
    &amp;lt;&lt;span class=&quot;kw3&quot;&gt;Directory&lt;/span&gt; /var/www/cgi-bin/&amp;gt;
        &lt;span class=&quot;kw1&quot;&gt;AllowOverride&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;All&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;Options&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;None&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;Order&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;allow&lt;/span&gt;,&lt;span class=&quot;kw1&quot;&gt;deny&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;Allow&lt;/span&gt; from &lt;span class=&quot;kw2&quot;&gt;all&lt;/span&gt;
    &amp;lt;/&lt;span class=&quot;kw3&quot;&gt;Directory&lt;/span&gt;&amp;gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;ErrorLog&lt;/span&gt; ${APACHE_LOG_DIR}/project.error.log
&amp;nbsp;
    &lt;span class=&quot;co1&quot;&gt;# Possible values include: debug, info, notice, warn, error, crit,&lt;/span&gt;
    &lt;span class=&quot;co1&quot;&gt;# alert, emerg.&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;LogLevel&lt;/span&gt; warn
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;CustomLog&lt;/span&gt; ${APACHE_LOG_DIR}/project.access.log combined
&amp;lt;/&lt;span class=&quot;kw3&quot;&gt;VirtualHost&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:23,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
&lt;strong&gt;Attention&lt;/strong&gt;, pour que cette configuration fonctionne, il faut que le module actions soit activé. Il est également important de noter que cette configuration peut cohabiter avec le module php.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Configuration de Apache - VirtualHost&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;configuration_de_apache_-_virtualhost&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;2536-4735&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit24&quot; id=&quot;liens_utiles&quot;&gt;Liens utiles&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://linuxplayer.org/2011/05/intall-multiple-version-of-php-on-one-server&quot; class=&quot;urlextern&quot; title=&quot;http://linuxplayer.org/2011/05/intall-multiple-version-of-php-on-one-server&quot; rel=&quot;ugc nofollow&quot;&gt;Intall multiple version of php on one server&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://cweiske.de/tagebuch/Running%20Apache%20with%20a%20dozen%20PHP%20versions.htm&quot; class=&quot;urlextern&quot; title=&quot;http://cweiske.de/tagebuch/Running%20Apache%20with%20a%20dozen%20PHP%20versions.htm&quot; rel=&quot;ugc nofollow&quot;&gt;Running Apache with a dozen PHP versions&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://gggeek.altervista.org/2007/07/21/running-multiple-php-versions-on-a-single-apache-install/&quot; class=&quot;urlextern&quot; title=&quot;http://gggeek.altervista.org/2007/07/21/running-multiple-php-versions-on-a-single-apache-install/&quot; rel=&quot;ugc nofollow&quot;&gt;Running multiple php versions on a single Apache install&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://linux-101.org/howto/apache-virtual-hosts-fastcgi-and-suexec&quot; class=&quot;urlextern&quot; title=&quot;http://linux-101.org/howto/apache-virtual-hosts-fastcgi-and-suexec&quot; rel=&quot;ugc nofollow&quot;&gt;Apache Virtual Hosts with FastCGI and suEXEC&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.devissues.com/compiling-php-on-linux-causes-configure-error-cannot-find-ldap-h&quot; class=&quot;urlextern&quot; title=&quot;http://www.devissues.com/compiling-php-on-linux-causes-configure-error-cannot-find-ldap-h&quot; rel=&quot;ugc nofollow&quot;&gt;Compiling PHP on Linux causes configure: error: Cannot find ldap.h&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://www.linuxquestions.org/questions/linux-software-2/configure-error-c-preprocessor-lib-cpp-fails-sanity-check-124961/&quot; class=&quot;urlextern&quot; title=&quot;https://www.linuxquestions.org/questions/linux-software-2/configure-error-c-preprocessor-lib-cpp-fails-sanity-check-124961/&quot; rel=&quot;ugc nofollow&quot;&gt;configure: error: C++ preprocessor &amp;quot;/lib/cpp&amp;quot; fails sanity check&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://loginroot.com/ubuntu-12-04-64bit-sbininsserv-no-such-file-or-directory/&quot; class=&quot;urlextern&quot; title=&quot;http://loginroot.com/ubuntu-12-04-64bit-sbininsserv-no-such-file-or-directory/&quot; rel=&quot;ugc nofollow&quot;&gt;Ubuntu 12.04 64bit /sbin/insserv: No such file or directory&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://github.com/c9s/phpbrew&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/c9s/phpbrew&quot; rel=&quot;ugc nofollow&quot;&gt;c9s/phpbrew&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://github.com/fpoirotte/phpfarm&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/fpoirotte/phpfarm&quot; rel=&quot;ugc nofollow&quot;&gt;fpoirotte/phpfarm&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Liens utiles&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;liens_utiles&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:24,&amp;quot;range&amp;quot;:&amp;quot;4736-&amp;quot;} --&gt;&lt;div class=&quot;footnotes&quot;&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__1&quot; id=&quot;fn__1&quot; class=&quot;fn_bot&quot;&gt;1)&lt;/a&gt;&lt;/sup&gt; 
&lt;div class=&quot;content&quot;&gt;&lt;a href=&quot;https://wiki.php.net/rfc/mysql_deprecation&quot; class=&quot;urlextern&quot; title=&quot;https://wiki.php.net/rfc/mysql_deprecation&quot; rel=&quot;ugc nofollow&quot;&gt;Request for Comments: ext/mysql deprecation&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__2&quot; id=&quot;fn__2&quot; class=&quot;fn_bot&quot;&gt;2)&lt;/a&gt;&lt;/sup&gt; 
&lt;div class=&quot;content&quot;&gt;&lt;a href=&quot;http://php.net/manual/en/mysqlinfo.library.choosing.php&quot; class=&quot;urlextern&quot; title=&quot;http://php.net/manual/en/mysqlinfo.library.choosing.php&quot; rel=&quot;ugc nofollow&quot;&gt;Choosing a library&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 24 Nov 2024 17:34:16 +0000</pubDate>
        </item>
        <item>
            <title>xampp</title>
            <link>https://www.ainw.org/wiki/doku.php?id=obsolete:informatique:php:xampp&amp;rev=1732469665&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;xampp&quot;&gt;XAMPP&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;https://www.ainw.org/wiki/lib/exe/fetch.php?w=100&amp;amp;tok=ba8d6f&amp;amp;media=informatique:logo:xampp.png&quot; class=&quot;mediaright&quot; align=&quot;right&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;100&quot; /&gt;
XAMPP est un kit d&amp;#039;installation d&amp;#039;Apache qui contient MySql/MariaDB, PHP et Perl. XAMPP est réellement très facile à installer et à utiliser - vous n&amp;#039;avez qu&amp;#039;à le télécharger, le décompresser et le démarrer.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;XAMPP&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;xampp&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-284&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;installation_sous_windows&quot;&gt;Installation sous Windows&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Il faut d&amp;#039;abord télécharger la version voulue sur la &lt;a href=&quot;http://www.apachefriends.org/fr/xampp-windows.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.apachefriends.org/fr/xampp-windows.html&quot; rel=&quot;ugc nofollow&quot;&gt;page de téléchargement&lt;/a&gt;. À l&amp;#039;heure actuelle, il y a deux versions disponibles :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1.8.2 qui utilise la version 5.4.22 de PHP et la version 5.5.34 de MySql,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1.8.3 qui utilise la version 5.5.6 de PHP et la version 5.6.14 de MySql.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Il est recommandé d&amp;#039;utiliser l&amp;#039;installeur car c&amp;#039;est la manière la plus simple pour mettre en place XAMPP. Cependant il est aussi possible d&amp;#039;utiliser les archives. Pour plus d&amp;#039;information convernant les différentes étapes d&amp;#039;installation, il suffit de lire la documentation officielle :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.apachefriends.org/fr/xampp-windows.html#1364&quot; class=&quot;urlextern&quot; title=&quot;http://www.apachefriends.org/fr/xampp-windows.html#1364&quot; rel=&quot;ugc nofollow&quot;&gt;installation avec l&amp;#039;installeur&lt;/a&gt;,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.apachefriends.org/fr/xampp-windows.html#1368&quot; class=&quot;urlextern&quot; title=&quot;http://www.apachefriends.org/fr/xampp-windows.html#1368&quot; rel=&quot;ugc nofollow&quot;&gt;installation sans installeur&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Pour utiliser certaines fonctions de XAMPP (&lt;em&gt;php_intl&lt;/em&gt; par exemple), il est nécessaire d&amp;#039;installer le pack &lt;em&gt;Microsoft Visual C++ Redistribuable&lt;/em&gt;. Il est impératif d&amp;#039;installer la version 32 bit même si la machine hôte est en 64 bit. En fonction de la version de XAMPP installée, il faut installer une version différente de ce pack :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; pour XAMPP 1.8.2, il faut installer la version 2008 (disponible &lt;a href=&quot;http://www.microsoft.com/en-us/download/details.aspx?id=5582&quot; class=&quot;urlextern&quot; title=&quot;http://www.microsoft.com/en-us/download/details.aspx?id=5582&quot; rel=&quot;ugc nofollow&quot;&gt;ici&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; pour XAMPP 1.8.3, il faut installer la version 2012 (disponible &lt;a href=&quot;http://www.microsoft.com/en-us/download/details.aspx?id=30679&quot; class=&quot;urlextern&quot; title=&quot;http://www.microsoft.com/en-us/download/details.aspx?id=30679&quot; rel=&quot;ugc nofollow&quot;&gt;ici&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Pour installer ce pack, les droits administrateur sont nécessaires.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Installation sous Windows&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installation_sous_windows&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;285-1838&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;configuration_de_php&quot;&gt;Configuration de PHP&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Il faut garder en mémoire que le but de XAMPP est de fournir un environnement de développement facilement. Il est &lt;strong&gt;très&lt;/strong&gt; fortement déconseillé de l&amp;#039;utiliser dans un environnement de production. La configuration proposée reste dans cet optique.&lt;br/&gt;

Dans le fichier &lt;em&gt;php.ini&lt;/em&gt;, chercher et modifier (ou activer) les lignes suivantes :
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;pre class=&quot;code ini&quot;&gt;&lt;span class=&quot;co0&quot;&gt;; dépend de la localisation de la machine.&lt;/span&gt;
date.timezone &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; America/Montreal&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;
; dépend de la puissance de la machine.&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;memory_limit&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; 512M&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;
; uniquement pour les développements. Il est nécessaire d&#039;améliorer les performances&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;; du code plutôt que d&#039;augmenter les limites dans la configuration.&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;max_input_var&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; 10000&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;
; uniquement pour les développements sauf si l&#039;application développée à besoin de&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;; charger de gros fichiers. Très utile pour le chargement de fichier de données&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;; avec phpmyadmin.&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;post_max_size&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; 20M&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;upload_max_size&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; 20M&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;
; pour activer l&#039;internationalisation de l&#039;application développée.&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;extension&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; php_intl.dll&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Configuration de PHP&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;configuration_de_php&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1839-2898&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;configuration_d_un_hote_virtuel&quot;&gt;Configuration d&amp;#039;un hôte virtuel&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Pour pouvoir utiliser et tester l&amp;#039;application développée, il est nécessaire de la rendre accessible par Apache. Pour cela, il faut configurer l&amp;#039;hôte afin de servir l&amp;#039;application aux navigateurs qui le demande.&lt;br/&gt;

Pour de l&amp;#039;information générale pour la configuration, lire la &lt;a href=&quot;https://httpd.apache.org/docs/2.2/vhosts/&quot; class=&quot;urlextern&quot; title=&quot;https://httpd.apache.org/docs/2.2/vhosts/&quot; rel=&quot;ugc nofollow&quot;&gt;documentation officielle&lt;/a&gt; et les &lt;a href=&quot;https://httpd.apache.org/docs/2.2/vhosts/examples.html&quot; class=&quot;urlextern&quot; title=&quot;https://httpd.apache.org/docs/2.2/vhosts/examples.html&quot; rel=&quot;ugc nofollow&quot;&gt;examples de configuration&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Dans le cas de XAMPP, il faut savoir que par défaut, l&amp;#039;accès au système de fichiers du serveur est restreint. Il faut explicitement autoriser l&amp;#039;accès aux répertoires nécessaires. La partie de la configuration qui restreint les accès se trouve dans le fichier &lt;em&gt;httpd.conf&lt;/em&gt; :
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;pre class=&quot;code conf&quot;&gt;# Deny access to the entirety of your server&#039;s filesystem. You must
# explicitly permit access to web content directories in other 
# &amp;lt;Directory&amp;gt; blocks below.
#
&amp;lt;Directory /&amp;gt;
    AllowOverride none
    Require all denied
&amp;lt;/Directory&amp;gt;&lt;/pre&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
Voici un example rapide de configuration à faire dans le fichier &lt;em&gt;httpd-vhosts.conf&lt;/em&gt; :
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_prewrap plugin_wrap&quot;&gt;&lt;pre class=&quot;code conf&quot;&gt;&amp;lt;VirtualHost hostname:80&amp;gt;
	ServerName hostname
	DocumentRoot &amp;quot;C:\path\to\web\folder&amp;quot;
	&amp;lt;Directory &amp;quot;C:\path\to\web\folder&amp;quot;&amp;gt;
		Options Indexes FollowSymLinks Includes ExecCGI
		AllowOverride All
		Order allow,deny
		Allow from all
		Require all granted
	&amp;lt;/Directory&amp;gt;
&amp;lt;/VirtualHost&amp;gt;&lt;/pre&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
Il faut noter la présence de &lt;strong&gt;Require all granted&lt;/strong&gt; qui autorise l&amp;#039;accès au répertoire.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Configuration d&amp;#039;un h\u00f4te virtuel&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;configuration_d_un_hote_virtuel&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2899-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 24 Nov 2024 17:34:25 +0000</pubDate>
        </item>
    </channel>
</rss>
