Мне нужно установить на сервер-лампу те же расширения php, которые установлены на старом сервере, как узнать, какие именно расширения установлены, чтобы установить их на новом сервере?
Мне нужно установить на сервер-лампу те же расширения php, которые установлены на старом сервере, как узнать, какие именно расширения установлены, чтобы установить их на новом сервере?
Ответы:
Вы можете использовать параметр командной строки , -m
чтобы php
увидеть , что установлены модули.
$ php -m | head
[PHP Modules]
bz2
calendar
ctype
curl
date
dbase
dom
exif
fileinfo
...
Вы также можете использовать php -i
для получения phpinfo();
вывода через командную строку, которая также будет включать эту информацию.
Если расширение действительно используется, на него нужно будет 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 () . Хотя я не знаю многих людей, которые загружают такие расширения. Даже не уверен, какой будет вариант использования, но это еще одна область, которую вы, вероятно, должны проверить.
В Debian расширения PHP загружаются через файлы в /etc/php5/conf.d
Существует два типа пакетов PHP Debian, которые могут быть установлены здесь:
Чтобы вывести список обоих в вашей системе, вы можете использовать эту команду: 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