Impossible d'installer php5 sur Ubuntu 16.04

53

j'ai donc récemment installé mon premier Ubuntu, pour être plus précis, une version quotidienne de 16.04, sur mon nouvel ordinateur portable, car le matériel informatique était trop récent pour 15.10. Maintenant, je suis en train de le configurer et je veux installer php5 et quelques extensions.

Lorsque j'exécute, sudo apt-get install libapache2-mod-php5je reçois le message d'erreur indiquant qu'il n'y a pas de paquet d'installation disponible pour php5 et libapache2.

Le message d'erreur est en allemand, alors je doute que cela puisse aider, mais en tout cas, c'est le cas. :-) E: For package »libapache2-mod-php5« existiert kein Installationskandidat.

Dois-je ajouter un référentiel apt-get? Ou qu'est-ce que je fais mal?

utilisateur529857
la source

Réponses:

76

TL; DR: Si vous voulez rester avec php5, vous devrez rester à Ubuntu 14.04 LTS

Utiliser PHP 7.0 sur Ubuntu 16.04 LTS

Ubuntu 16.04 est passé à PHP 7.0 avec une nouvelle infrastructure pour PHP. Donc, non, vous ne pouvez pas installer php5 sur Ubuntu 16.04, mais vous pouvez installer les paquets PHP 7.0 avec:

apt-get install libapache2-mod-php

Cela installera un paquet virtuel qui dépend de la dernière version de PHP et en tirera libapache2-mod-php7.0une dépendance.

Si vous recherchez des extensions, utilisez toujours également une variante sans version (par exemple, php-apcuau lieu de php7.0-apcu), car les extensions PECL sont fournies sans la version, ce qui permet des mises à niveau en douceur.

Utiliser PHP PPA pour co-installer PHP 5.6 avec PHP 7.0

Il y a une option pour co-installer les paquets PHP 5.6 en utilisant ppa:ondrej/php.

Pour plus d'informations, veuillez consulter cette réponse: https://askubuntu.com/a/762161/309221

Extrait du lien ci-dessus:

En supposant libapache2-mod-phpque vous puissiez activer PHP dans Apache, vous pouvez procéder de la manière suivante:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0

Changer de version de PHP (Apache):

  • De PHP5.6 à PHP7.0:
    sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart

  • de php7.0 à php5.6:
    sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart

Oerdnj
la source
2
Non, il n'y a pas de paquet PHP 5.x dans les référentiels Xenial. Seulement dans le PPA.
mardi
On dirait que vous avez raison: bugs.launchpad.net/ubuntu/+source/php5/+bug/1522422
NoBugs
Quand je suis passé à php5.6, j'ai eu l'erreur "Le travail pour apache2.service a échoué car le processus de contrôle s'est terminé avec le code d'erreur. Voir" systemctl status apache2.service "et" journalctl -xe "pour plus de détails.".
Lyhong
Et que dit le journal?
mardi
a trouvé quelque chose comme ceci apache2: erreur de syntaxe sur la ligne 140 de /etc/apache2/apache2.conf: erreur de syntaxe sur la ligne 3 de / e
lyhong
25

EDIT: la réponse acceptée ne dit pas explicitement comment co-installer PHP 5.6 et 7.0, je voulais donc l'étendre.

Pour plus d'informations, veuillez consulter cette réponse: https://askubuntu.com/a/762161/309221

Extrait du lien ci-dessus:

En supposant libapache2-mod-phpque vous puissiez activer PHP dans Apache, vous pouvez procéder de la manière suivante:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0

Changer de version de PHP (Apache):

  • De PHP5.6 à PHP7.0:
    sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart

  • de php7.0 à php5.6:
    sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart

FlavioEscobar
la source
1
FYI: Le PPA que vous utilisez est géré par la personne qui a rédigé la réponse acceptée. Et la dernière ligne de cette réponse: "Il existe une option pour co-installer les paquets PHP 5.6 en utilisant ppa: ondrej / php". Notez que vous n'êtes pas l' installation de paquets php5 non plus , mais php5.6
muru
1
Il y a un certain nombre de différences dans le packaging et l'emplacement des fichiers de configuration que quiconque recherchant les anciens paquets php5 serait surpris des nouveaux.
Muru
J'ai modifié ma réponse afin qu'elle ne dise pas que la réponse acceptée était incorrecte, mais la prolonge seulement.
FlavioEscobar
@NoBugs Il possède une extension imagick empaquetée. S'il vous plaît, arrêtez de cracher des choses sans au moins vérifier si elles sont vraies ou non.
mardi
@FlavioEscobar J'ai fusionné vos modifications dans ma réponse. Merci d'avoir étendu la réponse.
mardi