<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://chez.jcdenis.fr/feed/rss2/xslt" ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Jean-Christian Paul Denis - Mot-clé - upgrade</title>
    <link>https://chez.jcdenis.fr/</link>
    <atom:link href="https://chez.jcdenis.fr/feed/tag/upgrade/rss2" rel="self" type="application/rss+xml" />
    <description>Moment de vie d'un homme invisible.</description>
    <language>fr</language>
    <pubDate>Sun, 09 Nov 2025 09:31:14 +0100</pubDate>
    <copyright>Tous droits réservés © Jean-Christian Denis</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Dotclear</generator>
          <item>
        <title>Upgrade PHP</title>
        <link>https://chez.jcdenis.fr/post/2021/12/25/Upgrade-PHP</link>
        <guid isPermaLink="false">urn:md5:edcfcecd7e5515370a155043491dad02</guid>
        <pubDate>Sat, 25 Dec 2021 20:20:00 +0000</pubDate>
        <dc:creator>Jean-Christian Denis</dc:creator>
                  <category>Dotclear</category>
                          <category>php</category>
                  <category>upgrade</category>
                <description>&lt;p&gt;La prochaine version de Dotclear requiert PHP &amp;gt; 7.4, hors chez moi j'avais une 7.3.xx. C'est l'occasion de faire un petit pense bête sur la manière de faire l'upgrade.&lt;/p&gt; &lt;figure style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://chez.jcdenis.fr/public/photos/20211204-02.jpg&quot;&gt;&lt;img alt=&quot;20211204-02.jpg, déc. 2021&quot; class=&quot;media&quot; src=&quot;https://chez.jcdenis.fr/public/photos/.20211204-02_m.jpg&quot; /&gt;&lt;/a&gt;
&lt;figcaption&gt;Oriane - La panicière - 12/2021&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;On part d'une installation Debian avec un serveur Apache2 et on se connecte au surveur web en SSH avec un utilisateur sudo. On commence par mettre à jour la distribution avec la commande :&lt;br /&gt;
 &lt;/p&gt;

&lt;pre&gt;
&lt;code class=&quot;language-bash&quot;&gt;sudo apt update &amp;amp; upgrade -y

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Ensuite on regarde ce qui est installé actuellement et on récupère cette liste :&lt;br /&gt;
 &lt;/p&gt;

&lt;pre&gt;
&lt;code class=&quot;language-bash&quot;&gt;sudo dpkg -l | grep php

ii &amp;nbsp;libapache2-mod-php &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2:7.3+69 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;server-side, HTML-embedded scripting language (Apache 2 module) (default)
ii &amp;nbsp;libapache2-mod-php7.3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;server-side, HTML-embedded scripting language (Apache 2 module)
ii &amp;nbsp;php &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2:7.3+69 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;server-side, HTML-embedded scripting language (default)
ii &amp;nbsp;php-cli &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2:7.3+69 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;command-line interpreter for the PHP scripting language (default)
ii &amp;nbsp;php-common &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2:69 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Common files for PHP packages
ii &amp;nbsp;php-curl &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2:7.3+69 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CURL module for PHP [default]
ii &amp;nbsp;php-gd &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2:7.3+69 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GD module for PHP [default]
ii &amp;nbsp;php-gmp &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2:7.3+69 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GMP module for PHP [default]
ii &amp;nbsp;php-intl &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2:7.3+69 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Internationalisation module for PHP [default]
ii &amp;nbsp;php-mbstring &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2:7.3+69 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MBSTRING module for PHP [default]
ii &amp;nbsp;php-mysql &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2:7.3+69 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MySQL module for PHP [default]
ii &amp;nbsp;php-xml &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2:7.3+69 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;DOM, SimpleXML, WDDX, XML, and XSL module for PHP [default]
ii &amp;nbsp;php-xmlrpc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2:7.3+69 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;XMLRPC-EPI module for PHP [default]
ii &amp;nbsp;php-zip &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2:7.3+69 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Zip module for PHP [default]
ii &amp;nbsp;php7.3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;server-side, HTML-embedded scripting language (metapackage)
ii &amp;nbsp;php7.3-cli &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;command-line interpreter for the PHP scripting language
ii &amp;nbsp;php7.3-common &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;documentation, examples and common module for PHP
ii &amp;nbsp;php7.3-curl &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CURL module for PHP
ii &amp;nbsp;php7.3-gd &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GD module for PHP
ii &amp;nbsp;php7.3-gmp &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GMP module for PHP
ii &amp;nbsp;php7.3-intl &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Internationalisation module for PHP
ii &amp;nbsp;php7.3-json &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JSON module for PHP
ii &amp;nbsp;php7.3-mbstring &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MBSTRING module for PHP
ii &amp;nbsp;php7.3-mysql &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MySQL module for PHP
ii &amp;nbsp;php7.3-opcache &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Zend OpCache module for PHP
ii &amp;nbsp;php7.3-readline &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;readline module for PHP
ii &amp;nbsp;php7.3-xml &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;DOM, SimpleXML, WDDX, XML, and XSL module for PHP
ii &amp;nbsp;php7.3-xmlrpc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;XMLRPC-EPI module for PHP
ii &amp;nbsp;php7.3-zip &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7.3.31-1~deb10u1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amd64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Zip module for PHP&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;On voit qu'on a effectivement la version 7.3 de PHP. IL va falloir la mettre à jour vers la version suivante. Pour cela il faut récupérer une liste de paquetages que le système saura installer. Ici on enchaine plusieurs commandes qui installent de quoi récupérer la liste des paquetages php disponible pour le serveur, on ajoute le lien dans le gestionnaire de paquetages et on met à jour la liste :&lt;/p&gt;

&lt;pre&gt;
&lt;code class=&quot;language-bash&quot;&gt;sudo apt install apt-transport-https lsb-release ca-certificates curl -y
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg&amp;nbsp;
sudo sh -c 'echo &quot;deb https://packages.sury.org/php/ $(lsb_release -sc) main&quot; &amp;gt; /etc/apt/sources.list.d/php.list'&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Voila, le système de paquetages du serveur va svoir installer ce qu'on veut. On commence par PHP lui même :&lt;/p&gt;

&lt;pre&gt;
&lt;code class=&quot;language-bash&quot;&gt;sudo apt install php7.4 php7.4-common php7.4-cli&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;D'après la liste de ce qu'on avait d'installer sur le serveur au début de ce billet, on installe les paquetages correspondant :&amp;nbsp;&lt;br /&gt;
&lt;em&gt;Attention la liste ici est juste pour l'exemple, votre serveur n'a pas forcément ces paquetage et en a peut-être d'autres en plus.&lt;/em&gt;&lt;/p&gt;

&lt;pre&gt;
&lt;code class=&quot;language-bash&quot;&gt;sudo apt install php7.4-curl php7.4-gd php7.4-gmp php7.4-intl php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml php7.4-xmlrpc php7.4-zip&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Enfin on installe le module PHP d'apache2 :&lt;br /&gt;
&lt;em&gt;Normalement il va être automatiquement installer en dépendance des paquetages précédents.&lt;/em&gt;&lt;/p&gt;

&lt;pre&gt;
&lt;code class=&quot;language-bash&quot;&gt;sudo apt install libapache2-mod-php7.4&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;On nettoie les paquetages qui sont désormais inutiles :&lt;/p&gt;

&lt;pre&gt;
&lt;code class=&quot;language-bash&quot;&gt;sudo apt purge php7.3 php7.3-common&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;On désactive l'ancien module et on active le nouveau :&lt;br /&gt;
&lt;em&gt;Normalement l'ancien devrait déjà avoir disparu avec la commande purge.&lt;/em&gt;&lt;/p&gt;

&lt;pre&gt;
&lt;code class=&quot;language-bash&quot;&gt;sudo a2dismod php7.3
sudo a2enmod php7.4&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Enfin on redémarre Apache :&lt;/p&gt;

&lt;pre&gt;
&lt;code class=&quot;language-bash&quot;&gt;sudo service apache2 restart&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Voila un beau serveur en php 7.4.&lt;/p&gt;

&lt;p&gt;Les commandes restent les mêmes pour monter jusqu'à la dernière version (actuellement 8.1) de php. A ceci près qu'il faudra peut-être reconfigurer le fichier ini de php &lt;em&gt;(/etc/php/x.x/apache2/php.ini)&lt;/em&gt;&amp;nbsp;Il a également fallu que je désactive l'extension php xmlrpc &lt;em&gt;(ajouter ; au début de la ligne du fichier /etc/php/8.1/apache2/conf.d/20-xmlrpc.ini)&lt;/em&gt; pour la version actuelle de Dotclear qui contient déjà des classes faisant la même chose.&amp;nbsp;&lt;/p&gt;</description>
        
              </item>
      </channel>
</rss>
