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

13

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

Туйоши Виниций
источник

Ответы:

18

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

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

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

Ссылки

SLM
источник
5
Следует отметить, что это может быть не тот набор модулей, который включен в PHP и работает в Apache.
Рич Ремер
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 () . Хотя я не знаю многих людей, которые загружают такие расширения. Даже не уверен, какой будет вариант использования, но это еще одна область, которую вы, вероятно, должны проверить.

Bratchley
источник
Прошло много времени с тех пор, как я построил PHP, но я думаю, что вы также можете выбрать, чтобы расширения компилировались статически, и тогда ни один из этих вариантов не поможет.
Жюль
2

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

Существует два типа пакетов PHP Debian, которые могут быть установлены здесь:

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

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

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

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

Все расширения обычно имеют секцию вывода из phpinfo (); , php -m покажет список загруженных расширений PHP (каждое из которых должно иметь место в выводе phpinfo). В выводе php -m будет отображаться намного больше расширений, чем в 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
Профессор Фалькен
источник