como saber quais extensões php estão instaladas

11

Eu preciso instalar em um servidor de lâmpada exatamente as mesmas extensões de php que estão instaladas em um servidor antigo, como saber exatamente quais extensões estão instaladas para instalar o mesmo no novo servidor?

    
por Tuyoshi Vinicius 14.11.2014 / 15:19

3 respostas

17

Você pode usar a linha de comando -m to php para ver 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 -i para obter phpinfo(); output por meio da linha de comando, que também incluiria essas informações.

Referências

por 14.11.2014 / 16:18
2

Se a extensão estiver sendo usada, ela precisará ser referenciada em php.ini em algum 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 que são incluídas por um arquivo ini adicional incluído. Não tenho certeza sobre o Debian, mas no RHEL existe um diretório /etc/php.d/ onde todos os arquivos .ini são tratados como se estivessem no main /etc/php.ini

Se não estiver em um desses dois locais (main php.ini ou um dos arquivos incluídos), a extensão é mais ou menos apenas sentada no sistema de arquivos que não está sendo usada.

EDITAR:

Na verdade, acho que menti. Você pode ter que olhar seus arquivos php para chamadas para dl () . Eu não conheço muitas pessoas que carregam extensões como essa, no entanto. Nem tenho certeza do que seria o caso de uso, mas é outra área que você provavelmente deveria verificar.

    
por 14.11.2014 / 15:32
2

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

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

  • Pacotes PHP do Debian (que têm nomes começando com php5-)
  • Pacotes PHP PECL (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 o PECL do código-fonte. Relacione 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.d , mas podem ser adicionados ao próprio php.ini.

Todas as extensões geralmente têm uma seção de saída de phpinfo (); . php -m mostrará a lista de quais extensões o PHP carregou (cada uma delas deve ter um ponto na saída do phpinfo). Haverá muitas mais extensões listadas na saída php -m do que as instaladas como pacotes complementares no Debian, porque existem muitas extensões padrão embutidas no PHP, assim como aquelas que você pode instalar depois .

Aqui está uma saída de exemplo de uma máquina de desenvolvimento listando extensões PHP instaladas extra:

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
    
por 02.06.2015 / 23:10

Tags