Php 8.1 VS PHP 7.4, le combat!(ou comment un PHP active des services et en desactive d’autre)

Demande d'aide : c'est ici.
Répondre
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

EDITION: Ce sujet provient de celui-ci
viewtopic.php?t=2688
Pour une meilleur compréhension des différents problème la partie concernant PHP-FPM7.4 et 8.1 a été déplacée ici.
john84 a écrit : 19 avr. 2023, 09:11 Hello:)

Présentation du materiel :

Sur mon serveur physique, j'ai 5 disques durs (sans compter ceux de sauvegarde)
2 en interne et 3 relier en rack USB.
Le tout hebergé sous yunohost.

Un jour, je decide d'installer un service (acropolis) l'installation a l'air d'avoir un soucis (non accessibilité du service)
je ne me prends pas la tete, je supprime sans chercher plus loin. De toute facon c'etait juste pour voir....

je m'apercois un peu plus tard que mes services : Nextcloud et joomla ne sont plus accessible. J'ai acces a l'interface de roundcube mais je ne peux m'y connecter.
Et la je vois que les 3 disques en rack sont simplement demonté et si je le monte ca m'inscris /home/monserveur/mondisque est un dossier.

voici les log que j'ai reussi a recuperer

Code : Tout sélectionner

avril 11 22:01:23 monserveur.ynh.fr kernel: usb 1-5: USB disconnect, device number 2
avril 11 22:01:23 monserveur.ynh.fr systemd[1]: proc-hidepid.service: Succeeded.
avril 11 22:01:23 monserveur.ynh.fr systemd[1]: Stopped Mounts /proc with hidepid=2.
avril 11 22:01:23 monserveur.ynh.fr systemd[1]: Stopped target Local File Systems.
avril 11 22:01:23 monserveur.ynh.fr systemd[1]: Unmounting /home/jonathanbse/HDD_500Go_ECHO…
avril 11 22:01:23 monserveur.ynh.fr systemd[1]: Unmounting /home/jonathanbse/HDD_2To_BRAVO…
avril 11 22:01:24 monserveur.ynh.fr kernel: Buffer I/O error on dev sdf, logical block 60850176, lost sync page write
avril 11 22:01:24 monserveur.ynh.fr kernel: JBD2: Error -5 detected when updating journal superblock for sdf-8.
avril 11 22:01:24 monserveur.ynh.fr kernel: Aborting journal on device sdf-8.
avril 11 22:01:24 monserveur.ynh.fr kernel: Buffer I/O error on dev sdf, logical block 60850176, lost sync page write
avril 11 22:01:24 monserveur.ynh.fr kernel: JBD2: Error -5 detected when updating journal superblock for sdf-8.
avril 11 22:01:24 monserveur.ynh.fr systemd[1]: Unmounting /home/jonathanbse/HDD_4To_ALPHA…
avril 11 22:01:24 monserveur.ynh.fr systemd[1]: home-jonathanbse-HDD_500Go_ECHO.mount: Succeeded.
avril 11 22:01:24 monserveur.ynh.fr systemd[1]: Unmounted /home/jonathanbse/HDD_500Go_ECHO.
avril 11 22:01:24 monserveur.ynh.fr systemd[1]: home-jonathanbse-HDD_2To_BRAVO.mount: Succeeded.
avril 11 22:01:24 monserveur.ynh.fr systemd[1]: Unmounted /home/jonathanbse/HDD_2To_BRAVO.
avril 11 22:01:24 monserveur.ynh.fr kernel: Buffer I/O error on dev sdi1, logical block 488144896, lost sync page write
avril 11 22:01:24 monserveur.ynh.fr kernel: JBD2: Error -5 detected when updating journal superblock for sdi1-8.
avril 11 22:01:24 monserveur.ynh.fr kernel: Aborting journal on device sdi1-8.
avril 11 22:01:24 monserveur.ynh.fr kernel: Buffer I/O error on dev sdi1, logical block 488144896, lost sync page write
avril 11 22:01:24 monserveur.ynh.fr kernel: JBD2: Error -5 detected when updating journal superblock for sdi1-8.
avril 11 22:01:24 monserveur.ynh.fr systemd[1]: home-jonathanbse-HDD_4To_ALPHA.mount: Succeeded.
avril 11 22:01:24 monserveur.ynh.fr systemd[1]: Unmounted /home/jonathanbse/HDD_4To_ALPHA.
avril 11 22:01:27 monserveur.ynh.fr postfix/anvil[58410]: statistics: max connection rate 1/60s for (smtp:95.214.25.90) at Apr 11 21:58:06
avril 11 22:01:27 monserveur.ynh.fr postfix/anvil[58410]: statistics: max connection count 1 for (smtp:95.214.25.90) at Apr 11 21:58:06
avril 11 22:01:27 monserveur.ynh.fr postfix/anvil[58410]: statistics: max cache size 1 at Apr 11 21:58:06
avril 11 22:01:28 monserveur.ynh.fr kernel: usb 1-5: new high-speed USB device number 3 using ehci-pci
avril 11 22:01:28 monserveur.ynh.fr kernel: usb 1-5: New USB device found, idVendor=152d, idProduct=0578, bcdDevice=54.01
avril 11 22:01:28 monserveur.ynh.fr kernel: usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
avril 11 22:01:28 monserveur.ynh.fr kernel: usb 1-5: Product: External HDD
avril 11 22:01:28 monserveur.ynh.fr kernel: usb 1-5: Manufacturer: External USB3.0
avril 11 22:01:28 monserveur.ynh.fr kernel: usb 1-5: SerialNumber: DD5641988389F
Resultat je redemarre le serveur, les disques ce monte impeccable.
MAIS toujours pas acces a nextcloud, joomla et roundcube.

je relance donc avec : sudo service php8.1-fpm restart

tout fonctionne..... jusqu'a la prochaine coupure.

En ce moment je suis physiquement avec le serveur et personne n'as acces a lui pour bidouiller les cables. Et le probleme est depuis uniquement ce foutu service...
Je pense qu'il y a un lien quelques part entre la deconnection des disques et l'arret de PHP....

Une idée?


Hello,

Bizarre... Mais comme tout est derrière une interface Web, compliqué de déboguer.
On va commencer par php-fpm

TU nous donnes les sorties de ces commandes s'il te plaît:

Code : Tout sélectionner

# update-alternatives --config php
# systemctl status php8.1-fpm
# systemctl enable php8.1-fpm
tout fonctionne..... jusqu'a la prochaine coupure.
Comment est-ce que ça se matérialise ? C'est au moment ou tu te rends compte que les trois disques USB sont démontés ?
As-tu regardé un peu plus en détail les logs ?
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
john84
Membre
Membre
Messages : 24
Inscription : 17 avr. 2023, 16:37
Status : Hors-ligne

ah! tres interessant !!!

1/

Code : Tout sélectionner

# update-alternatives --config php
Il existe 3 choix pour l'alternative php (qui fournit /usr/bin/php).

  Sélection   Chemin           Priorité  État
------------------------------------------------------------
  0            /usr/bin/php8.1   81        mode automatique
* 1            /usr/bin/php7.4   74        mode manuel
  2            /usr/bin/php8.0   80        mode manuel
  3            /usr/bin/php8.1   81        mode manuel
2/

Code : Tout sélectionner

# systemctl status php8.1-fpm
● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2023-04-19 11:38:35 CEST; 1h 23min ago
       Docs: man:php-fpm8.1(8)
   Main PID: 2682 (php-fpm8.1)
     Status: "Processes active: 0, idle: 8, Requests: 770, slow: 0, Traffic: 0.2req/sec"
      Tasks: 9 (limit: 4661)
     Memory: 106.3M
        CPU: 44.494s
     CGroup: /system.slice/php8.1-fpm.service
             ├─2682 php-fpm: master process (/etc/php/8.1/fpm/php-fpm.conf)
             ├─2687 php-fpm: pool joomla
             ├─2689 php-fpm: pool joomla
             ├─2691 php-fpm: pool nextcloud
             ├─2692 php-fpm: pool nextcloud
             ├─2693 php-fpm: pool www
             ├─2694 php-fpm: pool www
             ├─2972 php-fpm: pool nextcloud
             └─2973 php-fpm: pool nextcloud

avril 19 11:38:33 reseaubsystemd[1]: Starting The PHP 8.1 FastCGI Process Manager...
avril 19 11:38:35 reseaub systemd[1]: Started The PHP 8.1 FastCGI Process Manager.
3/

Code : Tout sélectionner

systemctl enable php8.1-fpm
Synchronizing state of php8.1-fpm.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable php8.1-fpm
En faite a un moment donné je vois nextcloud ce mettre en croix. Du coup lsblk et cest a ce moment la que je vois que les disques sont démontés.

En ce qui concerne les log la seule chose que j'avais remarqué par rapport a ce probleme c'etait les deconnection USB des disques.... mais je n'ai rien vu d'autre.
Apres attention y a peut etre des choses a voir que je ne vois pas.....

En ce qui concerne ceci

Code : Tout sélectionner

# update-alternatives --config php
Il existe 3 choix pour l'alternative php (qui fournit /usr/bin/php).

  Sélection   Chemin           Priorité  État
------------------------------------------------------------
  0            /usr/bin/php8.1   81        mode automatique
* 1            /usr/bin/php7.4   74        mode manuel
  2            /usr/bin/php8.0   80        mode manuel
  3            /usr/bin/php8.1   81        mode manuel
Je n'ai rien changé mais j'ai l'impression que le choix 0 serais mieux non?
J'attends ton retour, je ne touche rien en attendant. :)
john84
Membre
Membre
Messages : 24
Inscription : 17 avr. 2023, 16:37
Status : Hors-ligne

J'ai deja trouvé une solution a mon probleme, de plus d’acces a nextcloud et roudcube.
par contre quand je dit trouvé solution... c'est des bien grand mots. Ca fonctionne mais je ne comprends pas comment resoudre ce probleme.

J'en ai aussi informé l'autre forum pour que tout le monde soit tenu au courant des solutions aux problèmes et a leur evolution

voici la procedure en detail de ce que j’ai fait :

Code : Tout sélectionner

#php -v

PHP 8.1.17 (cli) (built: Apr 9 2023 16:53:46) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.17, Copyright (c) Zend Technologies
with Zend OPcache v8.1.17, Copyright (c), by Zend Technologies
Donc 8.1 installé.

Code : Tout sélectionner

#systemctl status php8.1-fpm = ACTIVE
Jusque l’a tout va bien.

MAIS plus d’acces a roundcube (message concernant l’impossibilité de joindre le serveur de stockage ou simplement clic via l’interface ynh ne fais rien)

Voici ce que j’ai fait (grace aux conseils de lol)

Code : Tout sélectionner

#pdate-alternatives --config php
Il existe 3 choix pour l’alternative php (qui fournit /usr/bin/php).
Sélection Chemin Priorité État

    0 /usr/bin/php8.1 81 mode automatique
    1 /usr/bin/php7.4 74 mode manuel
    2 /usr/bin/php8.0 80 mode manuel
    3 /usr/bin/php8.1 81 mode manuel

#choix 0
puis :

Code : Tout sélectionner

#systemctl start php7.4-fpm
#systemctl status php7.4-fpm = ACTIVE
et maintenant je retrouve l’acces a Roundcube et nextcloud

J’ai l’impression que nextcloud utilise php8.1 et roundcube 7.4.
Il faut que je reactive manuellement 7.4 pour avoir l’acces a roundcube…
J’imagine que ce n’est pas normal mais je ne comprends pas le probleme.

Si vous avez des idées....
Si j'ai des nouvelles de l'autre cote bien sur je poste aussi ici :)
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5856
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

C'est malheureusement une situation courante. Les logiciels n'évoluent pas à la même vitesse.
Pour savoir quel PHP est requis par quel logiciel, il faut aller consulter les dépendances requises par les paquets.
Perso je le fais via un navigateur web.
Par exemple roundcube: https://packages.debian.org/bullseye/roundcube
depend de roundcube-core https://packages.debian.org/bullseye/roundcube-core

Cette page parle de PHP 7.4
Pour nextcloud, il faut aller regarder la page du logiciel car il n'existe pas de paquet debian.
PHP-FPM permet de résoudre ce probléme.
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

Le principal (confirmé par ce qu'ils disent chez Yunohost) est de ne pas tout casser...
https://forum.yunohost.org/t/php-8-1-vs ... re/24478/1

Je pense que le version par défaut de PHP est la 7.4 il faut revenir à celle-ci.

Après je ne sais pas comment Yunohost gère différentes versions de PHP, mais j'ai l'impression que ce n'est pas simple...
Du coup il va falloir modifier le VHOST (NGINX il me semble) pour activer PHP8.1-fpm sur Nextcloud.

Je suis étonné que Yunohost propose à l'installation des logiciels qui ne tournent pas sur les même versions de PHP...
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Répondre