J'ai besoin d'installer sur un serveur de lampes exactement les mêmes extensions php qui sont installées sur un ancien serveur, comment savoir exactement quelles extensions sont installées afin de les installer sur le nouveau serveur?
J'ai besoin d'installer sur un serveur de lampes exactement les mêmes extensions php qui sont installées sur un ancien serveur, comment savoir exactement quelles extensions sont installées afin de les installer sur le nouveau serveur?
Réponses:
Vous pouvez utiliser le commutateur de ligne de commande -m
pour php
voir ce que les modules sont installés.
$ php -m | head
[PHP Modules]
bz2
calendar
ctype
curl
date
dbase
dom
exif
fileinfo
...
Vous pouvez également utiliser php -i
pour obtenir une phpinfo();
sortie via la ligne de commande qui inclurait également ces informations.
Si l'extension est réellement utilisée, elle devra être référencée php.ini
quelque part. Les extensions sont chargées de manière assez intuitive:
extension=msql.so
extension=/path/to/extension/msql.so
etc.
Une chose à surveiller est les extensions apportées par un ini
fichier supplémentaire inclus. Je ne suis pas sûr de Debian, mais sur RHEL il y a un /etc/php.d/
répertoire où tous les .ini
fichiers sont traités comme s'ils avaient été dans le principal/etc/php.ini
Si ce n'est pas à l'un de ces deux endroits (principal php.ini
ou l'un des fichiers inclus), l'extension est plus ou moins simplement assise sur le système de fichiers non utilisé.
ÉDITER:
En fait, je pense que j'ai menti. Vous devrez peut-être regarder vos fichiers php pour les appels à dl () . Je ne connais pas beaucoup de gens qui chargent des extensions comme ça, cependant. Je ne sais même pas quel serait le cas d'utilisation, mais c'est un autre domaine que vous devriez probablement vérifier.
Dans Debian, les extensions PHP sont chargées via des fichiers dans /etc/php5/conf.d
Il existe deux types de paquets PHP Debian qui peuvent être installés ici:
Pour répertorier les deux sur votre système, vous pouvez utiliser cette commande: dpkg -l | grep 'ii php5 \? -' qui répertorie les packages installés commençant par php- ou php5-.
Vous pouvez également avoir des extensions qui ont été construites avec PECL à partir du code source. Énumérer ceux avec: pecl list
Enfin, il est possible de compiler vos propres extensions à l'ancienne. Dans ce cas, ils pourraient ne pas avoir de fichier dans /etc/php5/conf.d mais pourraient être ajoutés à php.ini lui-même.
Toutes les extensions ont généralement une section de sortie de phpinfo (); . php -m affichera la liste des extensions que PHP a chargées (chacune devant avoir une place dans la sortie phpinfo). Il y aura beaucoup plus d'extensions répertoriées dans la sortie php -m que celles installées en tant que paquets complémentaires dans Debian, car il existe de nombreuses extensions par défaut intégrées à PHP ainsi que celles que vous pouvez installer par la suite.
Voici un exemple de sortie d'une machine de développement répertoriant les extensions PHP supplémentaires installées:
root@zaphod:~# dpkg -l | grep 'ii php5\?-'
ii php-auth-sasl 1.0.4-1 all Abstraction of various SASL mechanism responses
ii php-db 1.7.14-2 all PHP PEAR Database Abstraction Layer
ii php-mail 1.2.0-4 all PHP PEAR module for sending email
ii php-mail-mime 1.8.4-1 all PHP PEAR module for creating MIME messages
ii php-mail-mimedecode 1.5.5-1 all PHP PEAR module to decode MIME messages
ii php-net-smtp 1.6.1-1 all PHP PEAR module implementing SMTP protocol
ii php-net-socket 1.0.9-2 all PHP PEAR Network Socket Interface module
ii php-pear 5.4.39-0+deb7u2 all PEAR - PHP Extension and Application Repository
ii php-xml-parser 1.3.4-6 all PHP PEAR module for parsing XML
ii php5-cgi 5.4.39-0+deb7u2 amd64 server-side, HTML-embedded scripting language (CGI binary)
ii php5-cli 5.4.39-0+deb7u2 amd64 command-line interpreter for the php5 scripting language
ii php5-common 5.4.39-0+deb7u2 amd64 Common files for packages built from the php5 source
ii php5-curl 5.4.39-0+deb7u2 amd64 CURL module for php5
ii php5-dev 5.4.39-0+deb7u2 amd64 Files for PHP5 module development
ii php5-gd 5.4.39-0+deb7u2 amd64 GD module for php5
ii php5-imagick 3.1.0~rc1-1+b2 amd64 ImageMagick module for php5
ii php5-imap 5.4.39-0+deb7u2 amd64 IMAP module for php5
ii php5-intl 5.4.39-0+deb7u2 amd64 internationalisation module for php5
ii php5-mcrypt 5.4.39-0+deb7u2 amd64 MCrypt module for php5
ii php5-mysql 5.4.39-0+deb7u2 amd64 MySQL module for php5
ii php5-pgsql 5.4.39-0+deb7u2 amd64 PostgreSQL module for php5
ii php5-sqlite 5.4.39-0+deb7u2 amd64 SQLite module for php5
ii php5-suhosin-extension 0.9.37-2 amd64 advanced protection system for PHP5
ii php5-sybase 5.4.39-0+deb7u2 amd64 Sybase / MS SQL Server module for php5
ii php5-xdebug 2.2.1-2 amd64 Xdebug Module for PHP 5
root@zaphod:~# pecl list
Installed packages, channel pecl.php.net:
=========================================
Package Version State
APC 3.1.13 beta
memcache 3.0.8 beta