Differentes versions de PHP

J’ai suivi ce que tu as indiqué, mais toujours pareil…
j’hésite beaucoup a tenté la désinstalle de php7, car j’ai peur que cela ne fonctionne pas en php7.3 et que je ne puisse plus revenir en 7.0 après…

Il se peut effectivement que mon « mode d’emploi » soit incomplet (cf. post de dindoun). C’est pourquoi je demandais à Clochette de confirmer puisqu’il avait fait la manip.

On va comparer avec mon serveur qui fonctionne bien avec PHP 7.3. Que te dis la commande suivante:

ls -la /usr/bin/ph*

root@www:~# ls -la /usr/bin/ph*
lrwxrwxrwx 1 root root      22 oct.  31  2018 /usr/bin/phar -> /etc/alternatives/phar
lrwxrwxrwx 1 root root      12 juin   5 01:15 /usr/bin/phar7.0 -> phar.phar7.0
lrwxrwxrwx 1 root root      12 févr. 13 17:31 /usr/bin/phar7.3 -> phar.phar7.3
lrwxrwxrwx 1 root root      27 oct.  31  2018 /usr/bin/phar.phar -> /etc/alternatives/phar.phar
-rwxr-xr-x 1 root root   14826 juin   5 01:15 /usr/bin/phar.phar7.0
-rwxr-xr-x 1 root root   14814 févr. 13 17:31 /usr/bin/phar.phar7.3
lrwxrwxrwx 1 root root      21 oct.  31  2018 /usr/bin/php -> /etc/alternatives/php
-rwxr-xr-x 1 root root 4394032 juin   5 01:15 /usr/bin/php7.0
-rwxr-xr-x 1 root root 4777720 févr. 13 17:31 /usr/bin/php7.3
lrwxrwxrwx 1 root root      28 juin  28 16:03 /usr/bin/php-config -> /etc/alternatives/php-config
-rwxr-xr-x 1 root root    4217 févr. 13 17:31 /usr/bin/php-config7.3
lrwxrwxrwx 1 root root      24 juin  28 16:03 /usr/bin/phpize -> /etc/alternatives/phpize
-rwxr-xr-x 1 root root    4984 févr. 13 17:31 /usr/bin/phpize7.3

Ok!.. Je crois que je commence à avoir une petite idée plus ou moins de ce qu’il se passe: notes les lignes suivantes dans ton listing:

lrwxrwxrwx 1 root root      12 juin   5 01:15 /usr/bin/phar7.0 -> phar.phar7.0
lrwxrwxrwx 1 root root      12 févr. 13 17:31 /usr/bin/phar7.3 -> phar.phar7.3
....
-rwxr-xr-x 1 root root   14826 juin   5 01:15 /usr/bin/phar.phar7.0
-rwxr-xr-x 1 root root   14814 févr. 13 17:31 /usr/bin/phar.phar7.3
....
rwxr-xr-x 1 root root 4394032 juin   5 01:15 /usr/bin/php7.0
-rwxr-xr-x 1 root root 4777720 févr. 13 17:31 /usr/bin/php7.3
....

A mon sens, c’est ça qui f…t la m…rde. Moi, voila ce que j’ai:

Renvoies-moi le résultat de la commande suivante SVP:

sudo update-alternatives --display php

Comme je l’ai indiqué il faut purger les paquets PHP 7.0

Il faut aussi désinstaller php-fpm que tu n’utilise probablement pas :

sudo apt purge php-fpm php7.3-fpm

Ensuite en me basant sur ta liste réinstalle ceux qui pourraient manquer :

sudo apt install php-bz2 php-cli php-gd  php-json php-ldap php-mbstring php-mysql php-opcache php-pgsql php-readline php-xml php-zip

Et marque comme installés automatiquement tout ceux avec numéro de version :

sudo apt-mark auto php7* libapache2-mod-php7.3

Et encore une fois update-alternatives est inutile et ne concerne que l’interpréteur php en ligne de commande pas celui fourni par le module Apache.

Oui Bruno1 ta méthode est parfaitement correcte effectivement. Néanmoins lis bien les désidératas de franck67:

Ce en quoi il a raison de se méfier car si je me réfère à la doc PHP il existe effectivement quelques incompatibilités ascendantes entre php 7.0 et les versions supérieurs (cf. ici: https://www.php.net/manual/fr/migration71.incompatible.php). Notes d’ailleurs que d’autre prennent également cette précaution:

Du coup il a bien besoin de php-fpm et de passer par un update-alternatives si il veut avoir les deux versions de PHP sur sa machine. Sur ce point toutes les documentations que j’ai pu lire sur le sujet sont unanymes…

root@www:~# update-alternatives --display php
php - mode manuel
  link best version is /usr/bin/php7.3
 le lien pointe actuellement sur /usr/bin/php7.3
  link php is /usr/bin/php
  slave php.1.gz is /usr/share/man/man1/php.1.gz
/usr/bin/php7.0 - priorité 70
 lien secondaire php.1.gz : /usr/share/man/man1/php7.0.1.gz
/usr/bin/php7.3 - priorité 73
 lien secondaire php.1.gz : /usr/share/man/man1/php7.3.1.gz

Effectivement, tant que php7.3 ne fonctionne pas, je voudrais garder php7.0…

La demande initiale indiquait bien une migration vers Debian 10 pour passer en PHP 7.3 :

Je suppose donc que les problèmes de compatibilité des script PHP utilisés ont été vérifié avant et que ce n’est pas la crainte de @franck67.

Avoir plusieurs versions de PHP sur la même machine est une opération relativement complexe et ce n’est pas le sujet ici. On peut effectivement utiliser php-fpm et des versions différentes, compilées sur place ou avec des dépôts exotiques plus ou moins risqués. On peut aussi utiliser docker pour y mettre une autre version de PHP.
Et vous êtes des têtes de mules avec votre update-alternatives :wink:
On parle d’un interpréteur PHP pour le serveur web (module Apache ou php-fpm) pas de l’interpréteur en ligne de commande !

Effectivement, mon but est de passer en full php 7.3. Mais pour l’instant, lorsque je passe mon apache en 7.3, le php n’est plus interprété… donc je ne vais pas virer le 7.0 tout de suite, sinon mon site ne sera plus accessible

Cela ne fonctionne pas car tu as toujours des paquets en version 7.0 installés. Tant que tu ne feras pas le ménage comme indiqué tu resteras avec un système bancal mélangeant du PHP 7.3 et des paquets en version 7.0 qui n’auront plus de mises à jour de sécurité.

Tu t’es lancé dans une migration vers une version supérieure de Debian, maintenant il faut aller jusqu’au bout. Et de toute façon tu as forcément fait des sauvegardes des données avant, qui te permettront de tout réinstaller rapidement en cas de catastrophe.

C’est une machine virtuelle.
Je suis entrain de faire un dump, comme ca je peux virer php7, et revenir au dump si ca fonctionne plus. Mais c’est bourrin ! :stuck_out_tongue:

Même problème…
malgré le fait que je n’ai plus aucune trace de php7.0, mon apache n’interprete pas le php

Et après un

sudo a2enmod php7.3
sudo service apache2 restart

ça donne quoi?

Je l’avais fait

Redonne :

apt list \*php\* --installed
sudo apache2ctl -t
sudo apache2ctl -M
root@www:~$ apt list \*php\* --installed
En train de lister... Fait
libapache2-mod-php7.0/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 amd64  [installé, local]
libapache2-mod-php7.3/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé]
libapache2-mod-php/stable,now 2:7.3+69 all  [installé]
libawl-php/stable,stable,now 0.60-1+deb10u1 all  [installé, automatique]
php-bz2/stable,now 2:7.3+69 all  [installé, automatique]
php-cli/stable,now 2:7.3+69 all  [installé]
php-common/now 2:84+0~20210621.36+debian9~1.gbp28513e all  [installé, local]
php-composer-ca-bundle/stable,now 1.1.4-1 all  [installé, automatique]
php-composer-semver/stable,now 1.4.2-1 all  [installé, automatique]
php-composer-spdx-licenses/stable,now 1.5.0-1 all  [installé, automatique]
php-composer-xdebug-handler/stable,now 1.3.2-1 all  [installé, automatique]
php-curl/stable,now 2:7.3+69 all  [installé]
php-gd/stable,now 2:7.3+69 all  [installé]
php-intl/stable,now 2:7.3+69 all  [installé]
php-json-schema/stable,now 5.2.8-1 all  [installé, automatique]
php-json/stable,now 2:7.3+69 all  [installé]
php-mbstring/stable,now 2:7.3+69 all  [installé]
php-memcache/stable,now 3.0.9~20170802.e702b5f-2 amd64  [installé]
php-mysql/stable,now 2:7.3+69 all  [installé, automatique]
php-pear/now 1:1.10.12+submodules+notgz+20210212-1+0~20210228.21+debian9~1.gbpf2b98f all  [installé, local]
php-pgsql/stable,now 2:7.3+69 all  [installé, automatique]
php-php-gettext/stable,now 1.0.12-0.1 all  [installé, automatique]
php-phpseclib/stable,now 2.0.14-1 all  [installé, automatique]
php-psr-log/stable,now 1.1.0-1 all  [installé, automatique]
php-ssh2/stable,now 1.1.2+0.13-4 amd64  [installé]
php-symfony-console/stable,stable,now 3.4.22+dfsg-2+deb10u1 all  [installé, automatique]
php-symfony-debug/stable,stable,now 3.4.22+dfsg-2+deb10u1 all  [installé, automatique]
php-symfony-filesystem/stable,stable,now 3.4.22+dfsg-2+deb10u1 all  [installé, automatique]
php-symfony-finder/stable,stable,now 3.4.22+dfsg-2+deb10u1 all  [installé, automatique]
php-symfony-process/stable,stable,now 3.4.22+dfsg-2+deb10u1 all  [installé, automatique]
php-tcpdf/now 6.2.12+dfsg2-1 all  [installé, local]
php-xml/stable,now 2:7.3+69 all  [installé]
php-zip/stable,now 2:7.3+69 all  [installé]
php7.0-bz2/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 amd64  [installé, local]
php7.0-cli/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 amd64  [installé, local]
php7.0-common/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 amd64  [installé, local]
php7.0-gd/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 amd64  [installé, local]
php7.0-json/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 amd64  [installé, local]
php7.0-ldap/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 amd64  [installé, local]
php7.0-mbstring/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 amd64  [installé, local]
php7.0-mysql/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 amd64  [installé, local]
php7.0-opcache/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 amd64  [installé, local]
php7.0-pgsql/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 amd64  [installé, local]
php7.0-readline/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 amd64  [installé, local]
php7.0-xml/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 amd64  [installé, local]
php7.0-zip/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 amd64  [installé, local]
php7.0/now 7.0.33-50+0~20210604.56+debian9~1.gbpa45c80 all  [installé, local]
php7.3-bz2/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé, automatique]
php7.3-cli/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé, automatique]
php7.3-common/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé, automatique]
php7.3-curl/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé, automatique]
php7.3-dev/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé]
php7.3-fpm/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé]
php7.3-gd/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé, automatique]
php7.3-intl/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé, automatique]
php7.3-json/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé, automatique]
php7.3-mbstring/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé, automatique]
php7.3-mysql/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé, automatique]
php7.3-opcache/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé, automatique]
php7.3-pgsql/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé, automatique]
php7.3-readline/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé, automatique]
php7.3-xml/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé, automatique]
php7.3-zip/stable,stable,now 7.3.27-1~deb10u1 amd64  [installé, automatique]
php7.3/stable,stable,now 7.3.27-1~deb10u1 all  [installé, automatique]
php/stable,now 2:7.3+69 all  [installé]
phpmyadmin/now 4:4.6.6-4+deb9u2 all  [installé, local]
pkg-php-tools/stable,now 1.37 all  [installé, automatique]
root@www:~# apache2ctl -t
Syntax OK
root@www:~# apache2ctl -M
Loaded Modules:
 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_core_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 dav_module (shared)
 dav_fs_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 filter_module (shared)
 headers_module (shared)
 mime_module (shared)
 mpm_prefork_module (shared)
 negotiation_module (shared)
 php7_module (shared)
 proxy_module (shared)
 proxy_connect_module (shared)
 proxy_http_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 setenvif_module (shared)
 socache_shmcb_module (shared)
 ssl_module (shared)
 status_module (shared)
 userdir_module (shared)

Tu n’as pas lancé les commandes que j’ai indiquées précédemment (message 24). Tu as toujours des paquets PHP 7.0 installés.

sisi ! j’ai sauvegardé ma VM, lancé toutes tes commandes, constaté que php7.0 n’etait plus la, activé le mod phph7.3, et redémarré apache, mais le php n’etait pas interprété.
du coup, j’ai remis ma VM a son etait initial, car j’ai des sites qui tournent… (message 30 & 31)

Donc pas de dépannage possible :confused: