Intereting Posts

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

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

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

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

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

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

  • extension_loaded – документация PHP

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

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

etc и т. д.

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

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

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

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

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

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

  • Пакеты Debian PHP (имена которых начинаются с 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