cómo saber qué extensiones php están instaladas

cómo saber qué extensiones php están instaladas

Necesito instalar en un servidor lámpara exactamente las mismas extensiones php que están instaladas en un servidor antiguo, ¿cómo puedo saber exactamente qué extensiones están instaladas para instalar las mismas en el nuevo servidor?

Respuesta1

Puede utilizar el interruptor de línea de comando -mpara phpver qué módulos están instalados.

$ php -m | head
[PHP Modules]
bz2
calendar
ctype
curl
date
dbase
dom
exif
fileinfo
...

También puede utilizar php -ipara obtener phpinfo();resultados a través de la línea de comando, que también incluiría esta información.

Referencias

Respuesta2

Si la extensión realmente se utiliza, será necesario hacer referencia a ella en php.inialgún lugar. Las extensiones se cargan de una manera bastante intuitiva:

extension=msql.so
extension=/path/to/extension/msql.so

etcétera etcétera.

Una cosa a tener en cuenta son las extensiones que se incorporan al iniincluir un archivo adicional. No estoy seguro acerca de Debian, pero en RHEL hay un /etc/php.d/directorio donde todos .inilos archivos se tratan como si hubieran estado en el directorio principal./etc/php.ini

Si no está en uno de esos dos lugares ( php.iniarchivo principal o uno de los incluidos), entonces la extensión está más o menos en el sistema de archivos que no se utiliza.

EDITAR:

En realidad, creo que mentí. Puede que tengas quemire sus archivos php para ver las llamadas a dl(). Sin embargo, no conozco a mucha gente que cargue extensiones como esa. Ni siquiera estoy seguro de cuál sería el caso de uso, pero es otra área que probablemente deberías comprobar.

Respuesta3

En Debian, las extensiones PHP se cargan mediante archivos en/etc/php5/conf.d

Hay dos tipos de paquetes PHP Debian que pueden instalarse aquí:

  • Paquetes PHP de Debian (que tienen nombres que comienzan con php5-)
  • Paquetes PECL PHP (que tienen nombres que comienzan con php-)

Para enumerar ambos en su sistema, puede usar este comando: dpkg-l | grep 'ii php5\?-' que enumera los paquetes instalados que comienzan con php- o php5-.

También es posible que tenga extensiones creadas con PECL a partir del código fuente. Enumere aquellos con: lista de pecl

Finalmente, es posible compilar sus propias extensiones a la antigua usanza. En ese caso, es posible que no tengan un archivo en/etc/php5/conf.dpero podría agregarse al propio php.ini.

Todas las extensiones suelen tener una sección de salida dephpinfo();. php-mmostrará la lista de las extensiones que PHP ha cargado (cada una de las cuales debe tener un lugar en la salida de phpinfo). Habrá muchas más extensiones enumeradas en elphp-msalida que se instalan como paquetes complementarios en Debian, porque hay muchas extensiones predeterminadas integradas en PHP, así como las que puede instalar después.

A continuación se muestra un ejemplo de salida de una máquina de desarrollo que enumera extensiones PHP adicionales instaladas:

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

información relacionada