como saber quais extensões php estão instaladas

como saber quais extensões php estão instaladas

Preciso instalar em um servidor lamp exatamente as mesmas extensões php que estão instaladas em um servidor antigo, como saber exatamente quais extensões estão instaladas para poder instalar as mesmas no novo servidor?

Responder1

Você pode usar a opção de linha de comando -mpara phpver quais módulos estão instalados.

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

Você também pode usar php -ipara obter phpinfo();saída por meio da linha de comando, que também incluiria essas informações.

Referências

Responder2

Se a extensão estiver realmente sendo usada, ela precisará ser referenciada em php.inialgum lugar. As extensões são carregadas de uma maneira bastante intuitiva:

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

etc etc.

Uma coisa a observar são as extensões trazidas pela iniinclusão de um arquivo adicional. Não tenho certeza sobre o Debian, mas no RHEL existe um /etc/php.d/diretório onde todos .inios arquivos são tratados como se estivessem no diretório principal/etc/php.ini

Se não estiver em um desses dois locais (principal php.iniou em um dos arquivos incluídos), a extensão estará mais ou menos no sistema de arquivos que não está sendo usado.

EDITAR:

Na verdade, acho que menti. Você pode ter queolhe em seus arquivos php para chamadas para dl(). Não conheço muitas pessoas que carreguem extensões como essa. Nem tenho certeza de qual seria o caso de uso, mas é outra área que você provavelmente deveria verificar.

Responder3

No Debian, as extensões PHP são carregadas através de arquivos em/etc/php5/conf.d

Existem dois tipos de pacotes PHP Debian que podem ser instalados aqui:

  • Pacotes Debian PHP (que têm nomes começando com php5-)
  • Pacotes PECL PHP (que possuem nomes começando com php-)

Para listar ambos em seu sistema, você pode usar este comando: dpkg -l | grep 'ii php5\?-' que lista os pacotes instalados começando com php- ou php5- .

Você também pode ter extensões que foram criadas com PECL a partir do código-fonte. Liste aqueles com: lista de pecl

Finalmente, é possível compilar suas próprias extensões à moda antiga. Nesse caso, eles podem não ter um arquivo em/etc/php5/conf.dmas pode ser adicionado ao próprio php.ini.

Todas as extensões geralmente têm uma seção de saída dephpinfo();. php -mmostrará a lista de quais extensões o PHP carregou (cada uma delas deve ter um lugar na saída do phpinfo). Haverá muito mais extensões listadas nophp -moutput do que são instalados como pacotes complementares no Debian, porque existem muitas extensões padrão incorporadas no PHP, bem como aquelas que você pode instalar posteriormente.

Aqui está um exemplo de saída de uma máquina de desenvolvimento listando extensões PHP extras 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

informação relacionada