web-dev-qa-db-fra.com

Pourquoi la commande 'apt a-t-elle installé PHP' essaier d'installer Apache?

J'essaie d'installer WordPress + Lemp sur mon ubuntu 18.04. Je n'ai aucun intérêt à installer Apache. Pourquoi le PHP Installer suppose-t-il?

15
hejsan

Selon - cette réponse sur Askubuntu: Comment installer PHP sans Apache WebServer? :

Ubuntu Détails du paquet dit php (php7.2) dépend de libapache2-mod-php7.2 OR php7.2-fpm OR php7.2-cgi.

Il semble que le premier package semble défaut, qui dépend elle-même de Apache2. Mais si vous installez l'un des derniers, et php ensuite, Apache2 ne sera pas installé.

Si vous utilisez NGinx, vous voulez probablement:

Sudo apt install php php7.2-fpm
21
Keith

Comme une alternative à l'approche utilisée dans cette réponse dans laquelle vous indiquez APT quelle dépendance vous est Vous pouvez également spécifier lequel vous ne voulez pas veux. Par exemple dans Ubuntu 20.04 (la méthode est toujours valable en 18.04 pour php7.2), pour afficher les dépendances du package php7.3 (lignes non pertinentes omises):

$ apt show php7.3
Depends: libapache2-mod-php7.3 | php7.3-fpm | php7.3-cgi, php7.3-common

Le | Symbole signifie "ou" et vous dit que la dépendance peut être satisfaite par libapache2-mod-php7.3, php7.3-fpm ou php7.3-cgi.

Si nous allons de l'avant et que nous installons le paquet, nous pouvons voir que APT choisira la première dépendance dans la liste (libapache2-mod-php7.3):

# apt install php7.3
The following NEW packages will be installed:
  Apache2 Apache2-bin Apache2-data Apache2-utils libapache2-mod-php7.3 libapr1 libaprutil1
  libaprutil1-dbd-sqlite3 libaprutil1-ldap libjansson4 liblua5.2-0 php-common php7.3
  php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-readline ssl-cert
Do you want to continue? [Y/n] n
Abort.

Si vous n'êtes pas content de cela, vous pouvez dire =APT==== VOUS NE VOULEZ PAS cette dépendance en plaçant un trait d'union après le nom du package indésirable. Si vous le faites, alors =APT choisira plutôt la deuxième dépendance dans la liste (php7.3-fpm):

# apt install php7.3 libapache2-mod-php7.3-
The following NEW packages will be installed:
  php-common php7.3 php7.3-cli php7.3-common php7.3-fpm php7.3-json php7.3-opcache
  php7.3-readline
Do you want to continue? [Y/n] n
Abort.

Cette approche est utile si vous savez que vous ne voulez pas de dépendance particulière, mais sont indifférents quant à la partie des alternatives utilisées. D'autre part, si vous savez que vous avez besoin d'un particulier, utilisez la méthode dans l'autre réponse.

13
Jon Bentley