как узнать какие расширения php установлены

как узнать какие расширения php установлены

Мне нужно установить на Lamp-сервере точно такие же расширения PHP, которые установлены на старом сервере. Как узнать, какие именно расширения установлены, чтобы установить их на новом сервере?

решение1

-mЧтобы phpувидеть, какие модули установлены, можно использовать параметр командной строки .

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

Вы также можете использовать командную строку php -iдля получения вывода, который также будет включать эту информацию.phpinfo();

Рекомендации

решение2

Если расширение действительно используется, на него нужно будет php.iniгде-то сослаться. Расширения загружаются довольно интуитивно понятным способом:

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

и т.д. и т.п.

Одна вещь, на которую следует обратить внимание, это расширения, которые вносятся путем iniвключения дополнительного файла. Я не уверен насчет Debian, но в RHEL есть каталог /etc/php.d/, где все .iniфайлы обрабатываются так, как если бы они были в основном/etc/php.ini

Если его нет ни в одном из этих двух мест (в основном php.iniили в одном из включенных файлов), то расширение, по сути, просто находится в файловой системе и не используется.

РЕДАКТИРОВАТЬ:

На самом деле, я думаю, что я солгал. Тебе, возможно, придетсяпосмотрите в ваших php-файлах вызовы dl(). Я не знаю многих людей, которые загружают расширения таким образом. Даже не уверен, какой будет вариант использования, но это еще одна область, которую вам, вероятно, стоит проверить.

решение3

В Debian расширения PHP загружаются через файлы в/etc/php5/conf.d

Здесь могут быть установлены два типа пакетов PHP Debian:

  • Пакеты Debian PHP (имена которых начинаются с php5- )
  • Пакеты PECL PHP (имена которых начинаются с php- )

Чтобы вывести список обоих в вашей системе, вы можете использовать эту команду: dpkg -l | grep 'ii php5\?-' в котором перечислены установленные пакеты, начинающиеся с php- или php5-.

У вас также могут быть расширения, которые были построены с помощью PECL из исходного кода. Перечислите те, которые имеют: список PECL

Наконец, можно скомпилировать свои собственные расширения по старинке. В этом случае у них может не быть файла в/etc/php5/conf.dно может быть добавлен в сам php.ini.

Все расширения обычно имеют раздел вывода изphpinfo();. php-мпокажет список расширений, которые загрузил PHP (каждое из которых должно иметь место в выводе phpinfo). В списке будет гораздо больше расширенийphp-мвывода, чем устанавливаются как дополнительные пакеты в Debian, поскольку в PHP встроено множество расширений по умолчанию, а также тех, которые можно установить позже.

Вот пример вывода с машины разработки, в котором перечислены дополнительно установленные расширения PHP:

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

Связанный контент