Узнать какие модули php установлены ubuntu

Обновлено: 04.07.2024

Ниже мы рассмотрим установку модулей PHP на сервер с операционной системой Ubuntu или Debian.

Создание phpinfo-скрипта

В процессе установки модулей нам потребуется получать информацию о параметрах PHP на сервере, поэтому в первую очередь разместим скрипт phpinfo.php в директории сайта.

Для этого подключитесь к серверу по SSH и выполните следующие шаги:

1. Перейдите в директорию сайта:

2. Создайте файл phpinfo.php:

3. Добавьте в него следующее содержимое:

4. Сохраните изменения (нажмите Ctrl+x для выхода из nano, далее Y для сохранения изменений и Enter).

Установка модулей на примере imagick

Рассмотрим установку модулей php на примере модуля imagick.

1. Уточните имя пакета.

Если вы не уверены в точном названии пакета, можно воспользоваться командой ниже, указав часть названия пакета. Для PHP названия большинства библиотек будут начинаться с "php".

Вывод команды выглядит примерно следующим образом:


В данном случае нам будет нужен пакет php-imagick.

2. Обновите информацию из репозиториев:

3. Установите библиотеку:


Перейдите в указанную директорию:

Проверьте, есть ли в ней установленная библиотека:

Если библиотека присутствует, она будет выведена в консоли:



Перейдите в указанную директорию и просмотрите ее содержимое:

Если конфигурационный файл с директивой, подключающей библиотеку, успешно создан, он будет выведен в консоли:


Если файл отсутствует, воспользуйтесь командой ниже, чтобы его создать:

Она создаст файл конфигурации imagick.ini в нужной директории и добавит в него директиву extension=imagick.so .

6. Перезагрузите веб-сервер Apache:


Подключение внешних библиотек

Если вам требуется подключить библиотеку, скачанную не из репозитория, необходимо:


2. Перейти в директорию с дополнительными конфигурационными файлами (см. значение параметра "Scan this dir for additional .ini files" на странице phpinfo.php; в нашем примере это /etc/php/7.2/apache2/conf.d):

3. Создать конфигурационный файл:

4. Указать в данном файле директиву и сохранить изменения:

5. Перезапустить Apache:

Если файл библиотеки был размещен в другой директории, то на шаге 4 необходимо в директиве extension указать соответствующий путь, например:

Есть три способа узнать версию PHP, которая установлена на сервере:

В этой статье мы подробно рассмотрим каждый из трёх способов.

Создать файл info.php

Создайте в корневой папке вашего сайта файл info.php с таким текстом:

В открывшемся окне вы увидите страницу с подробными параметрами вашего сервера. Версия PHP будет в самом верху страницы.

Как узнать версию php на сервере с ubuntu, debian, centos

Ввести команду в консоли

Подключитесь к серверу по SSH и введите в консоли такую команду:

Если кроме версии PHP вы хотите увидеть подробное описание параметров сервера, используйте такую команду:

Не пугайтесь большого количества выведенной информации, версия PHP отобразится в первой же строке. По сути эта команда — консольный вариант файла info.php. При помощи неё вы узнаете не только версию PHP, но и подробную информацию о сервере.

Как проверить версию php на сервере с ubuntu, centos, debian

Если хотите узнать, какие расширения и PHP-модули установлены на сервере, вам нужна команда:

Как узнать модули и PHP-расширения в консоли

Использовать панель управления хостингом

Если вы не пользуетесь консолью, можете посмотреть версию PHP в панели управления хостингом. Рассмотрим панели, которые мы предоставляем на виртуальном хостинге и VPS-серверах.

cPanel на виртуальном хостинге

Найдите на главной странице cPanel раздел «Программное обеспечение» и выберите пункт «Выбор версии PHP».

Раздел «Программное обеспечение» в cPanel

В этом разделе вы увидите текущую версию PHP и включённые модули. Если вам нужна другая версия, выберите её из списка и нажмите «Set as current».

Как узнать версию PHP на хостинге c панелью управления cPanel

cPanel/WHM на VPS-сервере

Проверить версию PHP можно как в самой WHM, так и в отдельной учётной записи cPanel. В обоих случаях раздел, в котором расположена нужная информация, будет одинаковым.

В WHM найдите в меню слева раздел «Software» и выберите пункт «MultiPHP Manager». На открывшейся странице вы увидите текущую версию PHP для всего сервера и сможете изменить её для конкретного домена.

Узнать версию PHP в WHM

В cPanel перейдите в нужную учётную запись, найдите раздел «Software» и перейдите в «MultiPHP Manager».

Раздел «Software» в cPanel

Вы найдёте текущую версию PHP в начале страницы. Здесь же вы можете её изменить. Для этого выберите нужную версию из выпадающего списка и нажмите «Apply».

Webuzo

Найдите на главной страницу раздел «Advanced Settings» и выберите пункт «Default Apps».

Раздел Advanced Settings в панели управления Webuzo

На следующей странице вы увидите, какие версии PHP доступны. Напротив текущей версии будет стоять флажок.

Как проверить версию PHP на хостинге с панелью управления Webuzo

ISPmanager Lite 5

Найдите в меню слева раздел «Домены» и выберите пункт «www-домены». В таблице с доменами будет колонка «Версия PHP».

Проверить версию PHP в панели управления ISPmanager Lite 5

DirectAdmin

Функционал этой панели управления разделён на три уровня: «Admin», «Reseller» и «User». Чтобы проверить версию PHP на сервере, перейдите на уровень «Admin». Затем в меню ниже найдите раздел «System Info & Files» и выберите пункт «System information».

Раздел System Info & Files в DirectAdmin

Откроется страница с техническими параметрами сервера. Версия PHP будет в самом конце страницы.

Есть некоторых сайт на пэхэпэ4. Очень древний, корявый, неизвестной мне иерархии. Что нужно grep'ать (или что вообще нужно сделать), чтобы быстро определить все php-модули, необходимые для его работы?

Интересно зачем тебе это?

>> какой дистрибутив ?
>Интересно зачем тебе это?

ну как же, что нибудь типа pkg_info | grep php4 и сидишь довольный :]

если только предыдущий администратор дружил с головой


И что вам это даст?

ТС'у нужно узнать, какие модули используются в сайте, т.е. в PHP коде, а не какие модули PHP установлены в системе.

иногда этого достаточно:
se@www3

>pkg_info | grep php4
php4-4.4.9 PHP Scripting Language (Apache Module and CLI)
php4-bcmath-4.4.9 The bcmath shared extension for php
php4-bz2-4.4.9 The bz2 shared extension for php
php4-ctype-4.4.9 The ctype shared extension for php
php4-exif-4.4.9 The exif shared extension for php
php4-filepro-4.4.9 The filepro shared extension for php
php4-ftp-4.4.9 The ftp shared extension for php
php4-gd-4.4.9 The gd shared extension for php
php4-iconv-4.4.9 The iconv shared extension for php
php4-mbstring-4.4.9 The mbstring shared extension for php
php4-mcrypt-4.4.9 The mcrypt shared extension for php
php4-mysql-4.4.9 The mysql shared extension for php
php4-overload-4.4.9 The overload shared extension for php
php4-pcre-4.4.9 The pcre shared extension for php
php4-posix-4.4.9 The posix shared extension for php
php4-session-4.4.9 The session shared extension for php
php4-snmp-4.4.9_2 The snmp shared extension for php
php4-tokenizer-4.4.9 The tokenizer shared extension for php
php4-xml-4.4.9 The xml shared extension for php

а все остальное обычно суют рядом со сцайтом


А какой смысл ставить это все, если нужно всего-то два-три модуля?

Вот именно. Я переношу сайты с виртуального хостинга на виртуалки. На виртуальном хостинге, конечно, куча модулей установлено. Но не устанавливать же их все.

Запусти сайт под голым пхп. На что ругаться будет - то и ставь.


да, я тоже так всегда делал. Главное удостоверится что весь код протестирован.


Плюсую. Тем более что могут еще использоваться библиотеки с pear.
Но тут появляется следующая, почти не разрешимая, проблема -- заметить нехватку модуля/библиотеки можно спустя некоторое время, не тестировать же проект полностью.

Блин, а как вообще модули пхп подгружаются? Разве это не должно быть как-то отражено в коде?

>Блин, а как вообще модули пхп подгружаются? Разве это не должно быть как-то отражено в коде?

В пхп нет namespaces. Единственный способ "импорта" чего-то, это include и require, но в для модулей оно не используется.

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

3 ответа

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

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

Ссылки

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

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

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

EDIT:

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

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

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

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

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

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

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

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

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

Читайте также: