як знати, які розширення для php встановлені


13

Мені потрібно встановити на ламповому сервері саме такі розширення php, які встановлені на старий сервер, як точно знати, які розширення встановлені для того, щоб встановити те саме на новому сервері?

Відповіді:


18

Ви можете використовувати параметр командного рядка , -mщоб phpпобачити , що встановлені модулі.

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

Ви також php -iможете отримати phpinfo();вихід через командний рядок, який також міститиме цю інформацію.

Список літератури


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 () . Я не знаю багатьох людей, які завантажують такі розширення. Навіть не впевнений, яким би був випадок використання, але це, мабуть, слід перевірити.


Минув час, коли я створив 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.