comment savoir quelles extensions php sont installées


13

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:


18

Vous pouvez utiliser le commutateur de ligne de commande -mpour phpvoir 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 -ipour obtenir une phpinfo();sortie via la ligne de commande qui inclurait également ces informations.

Les références


5
Il convient de noter que ce n'est peut-être pas le même ensemble de modules inclus par PHP fonctionnant dans Apache.
Rich Remer

2

Si l'extension est réellement utilisée, elle devra être référencée php.iniquelque 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 inifichier 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 .inifichiers 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.iniou 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.


Cela fait un moment que je n'ai pas construit PHP, mais je pense que vous pouvez également choisir d'avoir des extensions compilées statiquement, auquel cas aucune de ces options ne vous aidera.
Jules

2

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:

  • Paquets Debian PHP (dont le nom commence par php5-)
  • Paquets PHP PECL (dont le nom commence par php-)

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.