Notes d'installation sous Debian GNU/Linux

Cette section contient des notes et des astuces spécifiques à l'installation de PHP sous » Debian GNU/Linux.

Avertissement

Les compilations non officielles de sources tierces ne sont pas supportées ici. Tout bogue devrait être reporté à l'équipe Debian sauf s'il peut être reproduit en utilisant les dernières compilations de notre » section téléchargements .

Bien que les instructions pour compiler PHP sous Unix s'appliquent aussi à Debian, cette page de manuel contient des informations spécifiques pour les autres manières d'installer PHP, telles que l'utilisation de apt ou aptitude. Cette page de manuel utilise indifféremment l'une ou l'autre.

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

Ces exemples montreront de nombreux paquets, donc beaucoup spécifiques à PHP, comme php-cgi, php-cli et php-dev. Déterminez ceux qui sont nécessaires et installez les comme n'importe quel autre en utilisant apt ou aptitude. Et vu que Debian effectue une vérification des dépendances, on vous avertira de ces dernières, comme pour installer MySQL et cURL :

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.
  • Il y a deux commandes de base pour installer des paquets sous Debian (et d'autres variantes de Linux) : apt et aptitude. Expliquer les différences subtiles entre les deux sort du cadre de ce manuel.
add a note add a note

User Contributed Notes 6 notes

up
66
thumbs at apache dot org
11 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-FPM

While 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
40
kearney dot taaffe at gmail dot com
6 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 run

STEP 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-dev

So 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-readline

STEP 4:
compile the binaries by typing: make

If no errors, install by typing: make install

STEP 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.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf

STEP 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-fpm

STEP 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 .bashrc
if [ -d "$HOME/bin" ] ; then
  PATH="$HOME/bin:$PATH"
fi

STEP 9: Start PHP-FPM

    sudo ~/bin/php7/sbin/php-fpm
up
-17
marin at sagovac dot com
10 years ago
To install LAMP stack on Ubuntu (+Server) from 10.04 you need first install taskel and then lamp-server for example:

Install taskel, follow terminal guides:
sudo apt-get install tasksel

Install LAMP stack package from Ubuntu repository:
sudo tasksel install lamp-server
up
-22
John Fisher
17 years ago
With Apache2 and Php4 under Debian Sarge there is an extra configuration file :  /etc/apache2/sites-available/default
This file is not clearly documented, at least not for noobs, in Apache docs.

It overrides the conf file in the way you expect the /etc/apache2/conf.d/apache2-doc  to do according to the README.

Add ExecCGI to it to get rid of "Options ExecCGI is off in this directory"  errors.
up
-25
juraj at jurajsplayground dot com
15 years ago
On Ubuntu (since 7.04), rather do:
sudo tasksel install lamp-server

Details:
https://help.ubuntu.com/community/ApacheMySQLPHP
up
-40
tranzbit at yahoo dot com
15 years ago
On Ubuntu:

sudo apt-get install apache2 php5 mysql-client-5.0 mysql-server-5.0 phpmyadmin libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql

then restart the computer/start mysql manually
From:
http://ubuntuforums.org/showthread.php?t=186492
To Top