Installation à partir de paquets sur Debian GNU/Linux et distributions similaires

Bien que PHP puisse être installé à partir du code source, il est également disponible via des paquets provenant de » Debian GNU/Linux. Cela est également vrai pour d'autres distributions basées sur Debian, telles que Ubuntu, Kali Linux et Linux Mint.

Avertissement

Les versions provenant de tiers sont considérées comme non officielles et ne sont pas directement prises en charge par le projet PHP. Tout bogue rencontré doit être signalé au fournisseur de ces versions non officielles, sauf s'il peut être reproduit à l'aide des versions provenant de »  la zone de téléchargement officielle.

Les paquets peuvent être installés en utilisant soit la commande apt soit la commande aptitude. Cette page de manuel utilise ces deux commandes de manière interchangeable.

Utilisation de APT

Tout d'abord, veuillez noter que d'autres paquets peuvent être souhaitables, comme libapache-mod-php pour l'intégration avec Apache 2, et php-pear pour PEAR.

Ensuite, avant d'installer un paquet, il est sage de s'assurer que la liste des paquets est à jour. D'habitude, on le fait en utilisant la commande apt update.

Exemple #1 Exemple d'installation sous Debian avec Apache 2

# apt install php-common libapache2-mod-php php-cli

APT installera et activera automatiquement le module PHP pour Apache 2, ainsi que toutes ses dépendances. Apache devra être relancé pour que les changements soient effectifs. Par exemple :

Exemple #2 Stopper et démarrer Apache une fois PHP installé

# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start

Un meilleur contrôle de la configuration

Dans l'exemple précédent, PHP a été installé avec juste les composants principaux. Il y a fort à parier que des modules supplémentaires soient nécessaires, tels que MySQL, cURL, GD, etc. Ils peuvent aussi être installés via la commande apt.

Exemple #3 Méthodes pour lister les paquets PHP supplémentaires

# apt-cache search php
# apt search php | grep -i mysql
# aptitude search php

La liste des paquets comprendra un grand nombre de paquets incluant les composants de base de PHP, tels que php-cgi, php-cli, et php-dev, ainsi que de nombreuses extensions PHP. Lors de l'installation des extensions, des paquets supplémentaires seront installés automatiquement si nécessaire pour satisfaire les dépendances de ces paquets.

Exemple #4 Installer PHP avec MySQL et cURL

# apt install php-mysql php-curl

APT ajoutera automatiquement les bonnes lignes aux fichiers connexes à php.ini, comme /etc/php/7.4/php.ini, /etc/php/7.4/conf.d/*.ini, etc. et selon l'extension, il ajoutera des entrées semblables à extension=foo.so. De plus, redémarrer le serveur web (Apache, par exemple) est nécessaire pour que ces changements soient effectifs.

Problèmes courants

  • Si les scripts PHP ne sont pas interprétés par le serveur web, il est probable que PHP n'ait pas été ajouté aux fichier de configuration du serveur web, c'est-à-dire, sous Debian, /etc/apache2/apache2.conf ou équivalent. Consultez le manuel Debian pour davantage de détails.
  • Si une extension a apparemment été installée mais que ses fonctions ne sont pas définies, assurez vous que les lignes adéquates ont été insérées dans les fichiers .ini et/ou que le serveur web a été redémarré après l'installation.
add a note

User Contributed Notes 2 notes

up
73
thumbs at apache dot org
12 years ago
To refresh this document, perhaps it would be worth mentioning more modern methods to serve php content under apache httpd.Specifically, the preferred method is now fastcgi, using either of those recipes:(mod_fastcgi, httpd 2.2)http://wiki.apache.org/httpd/php-fastcgi(mod_fcgid, httpd 2.2)http://wiki.apache.org/httpd/php-fcgid(mod_proxy_fcgi, httpd 2.4)http://wiki.apache.org/httpd/PHP-FPMWhile the legacy mod_php approach is still applicable for some older installations, the fastcgi method is much faster, and require much less RAM to operate, based on similar traffic patterns.Thank you!
up
42
kearney dot taaffe at gmail dot com
7 years ago
Compiling PHP on Ubuntu boxes.If you would like to compile PHP from source as opposed to relying on package maintainers, here's a list of packages, and commands you can runSTEP 1:sudo apt-get install autoconf build-essential curl libtool \  libssl-dev libcurl4-openssl-dev libxml2-dev libreadline7 \  libreadline-dev libzip-dev libzip4 nginx openssl \  pkg-config zlib1g-devSo you don't overwrite any existing PHP installs on your system, install PHP in your home directory. Create a directory for the PHP binaries to live    mkdir -p ~/bin/php7-latest/STEP 2:# download the latest PHP tarball, decompress it, then cd to the new directory.STEP 3:Configure PHP. Remove any options you don't need (like MySQL or Postgres (--with-pdo-pgsql))./configure --prefix=$HOME/bin/php-latest \    --enable-mysqlnd \    --with-pdo-mysql \    --with-pdo-mysql=mysqlnd \    --with-pdo-pgsql=/usr/bin/pg_config \    --enable-bcmath \    --enable-fpm \    --with-fpm-user=www-data \    --with-fpm-group=www-data \    --enable-mbstring \    --enable-phpdbg \    --enable-shmop \    --enable-sockets \    --enable-sysvmsg \    --enable-sysvsem \    --enable-sysvshm \    --enable-zip \    --with-libzip=/usr/lib/x86_64-linux-gnu \    --with-zlib \    --with-curl \    --with-pear \    --with-openssl \    --enable-pcntl \    --with-readlineSTEP 4:compile the binaries by typing: makeIf no errors, install by typing: make installSTEP 5:Copy the PHP.ini file to the install directory    cp php.ini-development ~/bin/php-latest/lib/ STEP 6:cd ~/bin/php-latest/etc; mv php-fpm.conf.default php-fpm.confmv php-fpm.d/www.conf.default php-fpm.d/www.confSTEP 7:create symbolic links for your for your binary files   cd ~/bin   ln -s php-latest/bin/php php   ln -s php-latest/bin/php-cgi php-cgi   ln -s php-latest/bin/php-config php-config   ln -s php-latest/bin/phpize phpize   ln -s php-latest/bin/phar.phar phar   ln -s php-latest/bin/pear pear   ln -s php-latest/bin/phpdbg phpdbg   ln -s php-latest/sbin/php-fpm php-fpmSTEP 8: link your local PHP to the php command. You will need to logout then log back in for php to switch to the local version instead of the installed version# add this to .bashrcif [ -d "$HOME/bin" ] ; then  PATH="$HOME/bin:$PATH"fiSTEP 9: Start PHP-FPM    sudo ~/bin/php7/sbin/php-fpm
To Top