Pb pluxml-apache après upgrade de php7.2 vers php7.4

seb31seb31 Member
décembre 2023 modifié dans Entraide

Bonjour,
Je viens de passer php de 7.2 à 7.4 sur un pc ubuntu 18.04.
php -v
PHP 7.4.33-SergeyD/6.1 (cli) ( NTS )

Après install:
sudo apt install libapache2-mod-php74
sudo a2enmod php74
sudo systemctl restart apache2

Mon blog pluxml 5.8.1 en local continue à pointer vers php7.2. (idem phpinfo)
Quand j'arrête le module pour php72 :
sudo a2dismod php7.2
sudo systemctl restart apache2

Pluxml est ko

Ça remarche en réactivant php7.2
sudo a2enmod php7.2
sudo systemctl restart apache2

Y-a-t'il un fichier de config à modifier?
Merci.

Mots clés:

Réponses

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Bonjour,
    "php -v" te donne la version de php quand tu exécutes un script en ligne dans un terminal.
    Pour connaitre la version de php qui propulse Apache, il faut écrire une simple page web comme ci-dessous et l'ouvrir dans un navigateur :

    <?php
    phpinfo();
    

    Les modules utilisés par Apache sont définis par des liens symboliques. Que donnent les instructions suivantes :

    ls -l /etc/apache2/mods-enabled/php*
    ls -l /etc/apache2/mods-available/php*
    
    

    J'utilise Ubuntu 22.04.3 LTS

  • seb31seb31 Member
    décembre 2023 modifié

    Bonjour,
    Merci bazooka07 pour ta réponse.

    Pour info, j'ai installé php74 comme ça car le repository habituel (ppa:ondrej/php) ne permettait pas l'installation,
    cf https://stackoverflow.com/questions/76782345/cant-install-php7-4-dev-on-ubuntu-18-04 :

    sudo add-apt-repository ppa:sergey-dryabzhinsky/php74
    sudo add-apt-repository ppa:sergey-dryabzhinsky/php7-modules
    sudo add-apt-repository ppa:sergey-dryabzhinsky/backports
    sudo add-apt-repository ppa:sergey-dryabzhinsky/packages
    

    Le phpinfo indique php7.2, (c'est ce que j'avais voulu dire maladroitement par "idem phpinfo"):

    PHP Version 7.2.24-0ubuntu0.18.04.17
    System  Linux 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64
    Build Date  Feb 23 2023 13:29:25
    Server API  Apache 2.0 Handler
    Virtual Directory Support   disabled
    Configuration File (php.ini) Path   /etc/php/7.2/apache2
    Loaded Configuration File   /etc/php/7.2/apache2/php.ini
    Scan this dir for additional .ini files /etc/php/7.2/apache2/conf.d
    ...
    
    $ ll /etc/apache2/mods-enabled/php*
    lrwxrwxrwx 1 root root 29 déc.  14 19:46 /etc/apache2/mods-enabled/php7.2.conf -> ../mods-available/php7.2.conf
    lrwxrwxrwx 1 root root 29 déc.  14 19:46 /etc/apache2/mods-enabled/php7.2.load -> ../mods-available/php7.2.load
    lrwxrwxrwx 1 root root 28 déc.  14 19:09 /etc/apache2/mods-enabled/php74.conf -> ../mods-available/php74.conf
    lrwxrwxrwx 1 root root 28 déc.  14 19:09 /etc/apache2/mods-enabled/php74.load -> ../mods-available/php74.load
    
    $ ls -l /etc/apache2/mods-available/php*
    -rw-r--r-- 1 root root 855 avril  8  2020 /etc/apache2/mods-available/php7.2.conf
    -rw-r--r-- 1 root root 102 avril  8  2020 /etc/apache2/mods-available/php7.2.load
    -rw-r--r-- 1 root root 895 nov.  30  2017 /etc/apache2/mods-available/php74.conf
    -rw-r--r-- 1 root root  67 nov.  29  2019 /etc/apache2/mods-available/php74.load
    

    Merci

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Bonjour,
    Visiblement tu as 2 versions installées de PHP pour les librairies d'Apache quand on regarde le contenu du dossier mods-available. Et Apache ne tient compte que d'une seule version.
    Essaie de supprimer à la main les liens symboliques relatifs à php7.2 dans le dossier mods-enabled :

    sudo rm /etc/apache2/mods-enabled/php7.2*
    sudo systemctrl restart apache2
    

    C'est une méthode un peu sale mais cela permet de fixer rapidement le problème
    J'ai un doute sur les paquets deb de Sergey. Normalement, il n'y a pas de problème avec ceux de Ondrej. Voir ce lien :
    https://www.cloudbooklet.com/upgrade-php-version-to-php-7-4-on-ubuntu/
    Perso je désintallerai tous les paquets php en ligne et pour Apache.J'enlèverai le dépôt de Sergey et ajouterai le dépôt de Ondrej pour avoir un truc propre.
    Et dans la foulée, je prendrai la dernière version de php. Pour connaitre les versions disponibles, faire dans un terminal :

    apt search libapache2-mod-php
    
  • Bonjour bazooka07,
    Merci pour ta réponse. Je vais suivre ton conseil et tenter de ré-installer installer la version de php 7.4 en suivant le lien que tu indiques.
    J'ai cependant un doute car c'est exactement ce que j'ai fait sauf "sudo apt install software-properties-common". Voilà ce que j'avais fait:

    :~$ sudo add-apt-repository ppa:ondrej/php
    [sudo] Mot de passe de xx : 
     Co-installable PHP versions: PHP 5.6, PHP 7.x, PHP 8.x and most requested extensions are included. Only Supported Versions of PHP (http://php.net/supported-versions.php) for Supported Ubuntu Releases (https://wiki.ubuntu.com/Releases) are provided. Don't ask for end-of-life PHP versions or Ubuntu release, they won't be provided.
    Debian oldstable and stable packages are provided as well: https://deb.sury.org/#debian-dpa
    You can get more information about the packages at https://deb.sury.org
    IMPORTANT: The <foo>-backports is now required on older Ubuntu releases.
    BUGS&FEATURES: This PPA now has a issue tracker:
    https://deb.sury.org/#bug-reporting
    CAVEATS:
    1. If you are using php-gearman, you need to add ppa:ondrej/pkg-gearman
    2. If you are using apache2, you are advised to add ppa:ondrej/apache2
    3. If you are using nginx, you are advised to add ppa:ondrej/nginx-mainline
       or ppa:ondrej/nginx
    PLEASE READ: If you like my work and want to give me a little motivation, please consider donating regularly: https://donate.sury.org/
    WARNING: add-apt-repository is broken with non-UTF-8 locales, see
    https://github.com/oerdnj/deb.sury.org/issues/56 for workaround:
    # LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
     Plus d’info : https://launchpad.net/~ondrej/+archive/ubuntu/php
    Appuyez sur [ENTRÉE] pour continuer ou sur Ctrl-c pour annuler l'ajout.
    
    Atteint :1 http://fr.archive.ubuntu.com/ubuntu bionic InRelease
    Atteint :2 http://fr.archive.ubuntu.com/ubuntu bionic-updates InRelease                                                                                        
    Atteint :3 http://ppa.launchpad.net/libreoffice/libreoffice-6-4/ubuntu bionic InRelease                                                                        
    Réception de :4 https://linux.teamviewer.com/deb stable InRelease [11,9 kB]                                                                                    
    Atteint :5 http://fr.archive.ubuntu.com/ubuntu bionic-backports InRelease                                                                                      
    Réception de :6 https://repo.skype.com/deb stable InRelease [3 172 B]                                                                                          
    Réception de :7 http://ppa.launchpad.net/ondrej/php/ubuntu bionic InRelease [20,8 kB]                                                                          
    Atteint :8 http://packages.ivideon.com/ubuntu stable InRelease                                                                                           
    Atteint :9 http://security.ubuntu.com/ubuntu bionic-security InRelease                                                 
    35,9 ko réceptionnés en 1s (41,2 ko/s)
    Lecture des listes de paquets... Fait
    
    :~$ sudo apt install php7.4
    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances       
    Lecture des informations d'état... Fait
    E: Impossible de trouver le paquet php7.4
    E: Impossible de trouver de paquet correspondant à l'expression rationnelle « php7.4 »
    E: Impossible de trouver de paquet correspondant à l'expression rationnelle « php7.4 »
    

    Je me rend compte que je n'ai pas fait l'ajout du repo pour apache2 (ppa:ondrej/apache2).

    Si ce nouvel essai ne fonctionne pas, je tenterai d'installer la dernière version de php, éventuellement une version 8.xx si dispo pour ubuntu 18.04.
    Pa contre, si je supprime php 7.2 (sudo rm /etc/apache2/mods-enabled/php7.2*) , je crains fort que pluxml ne fonctionne plus comme lorsque j'ai fait "sudo a2dismod php7.2".

    Bon weekend.

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Il faut installer le package pour la librairie PHP de Apache2 :

    sudo apt install libapache2-mod-php7.4 php7.4-gd php7.4-xml
    
  • Bonjour bazooka07,
    Merci pour ta réponse. Je vais refaire l'install et te tiens au courant.

    Bonne semaine.

Connectez-vous ou Inscrivez-vous pour répondre.