---
title: "Установка модулей PHP на серверы с Debian / Ubuntu"
description: "Установка модулей PHP на серверы с Debian / Ubuntu. Документация и инструкции по использованию и настройке облачных серверов Timeweb Cloud."
---

# Установка модулей PHP (Debian / Ubuntu)

> Полный индекс документации для ИИ-агентов: [llms.txt](https://timeweb.cloud/llms.txt).

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

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

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

Для этого [подключитесь к серверу по SSH](https://timeweb.cloud/docs/unix-guides/ssh) и выполните следующие шаги:

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

```shell
cd путь/к/директории/сайта
```

Например, если на сервере установлен LAMP (автоматически при создании сервера):

```shell
cd /var/www/html
```

Если на сервере установлена панель VestaCP:

```shell
cd /home/имя_пользователя/web/имя_домена/public_html
```

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

```shell
nano phpinfo.php
```

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

```shell
<?php
phpinfo();
phpinfo(INFO_MODULES);
?>
```

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

После перейдите по адресу `http://вашдомен/phpinfo.php`, и в браузере будет отображена информация о настройках PHP.

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

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

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

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

```shell
apt-cache search что_ищем
```

Например:

```shell
apt-cache search php-ima
```

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

![11](https://content.timeweb.com/assets/447e8596-a0ec-4bb7-8f35-4214d0c032db?width=655&height=87)

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

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

```shell
apt update
```

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

```shell
apt install имя_пакета
```

Например:

```shell
apt install php-imagick
```

4\. Проверьте, какая директория задана для расширений. Для этого нужно на странице `http://вашдомен/phpinfo.php` найти параметр «extension_dir»:

![22](https://content.timeweb.com/assets/1bcc55bc-534b-4646-a9ca-0620d6ad4314?width=940&height=51)

_Страница phpinfo() с информацией о конфигурации [PHP](https://www.php.net/) на сервере_

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

```shell
cd /нужная/директория
```

В нашем случае:

```shell
cd /usr/lib/php/20170718
```

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

```shell
ls
```

Можно указать часть имени библиотеки, чтобы упростить вывод, например:

```shell
ls ima*
```

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

![33](https://content.timeweb.com/assets/ac3386a9-8890-4ac3-bdd4-6a4f92d68f64?width=403&height=33)

5\. Проверьте, какая директория используется для дополнительных конфигурационных файлов. Для этого нужно на странице `http://вашдомен/phpinfo.php` найти параметр «Scan this dir for additional .ini files»:

![44](https://content.timeweb.com/assets/aae4b9d1-4391-41a7-880e-cb2e6c5a138a?width=941&height=29)

_Страница phpinfo() с информацией о конфигурации [PHP](https://www.php.net/) на сервере_

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

```shell
cd /нужная/директория 
ls
```

В нашем случае:

```shell
cd /etc/php/7.2/apache2/conf.d
```

```shell
ls
```

Можно указать часть имени библиотеки, чтобы упростить вывод, например:

```shell
ls *imag*
```

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

![55](https://content.timeweb.com/assets/76e9952c-5e7c-433c-b802-381c519dffe0?width=458&height=36)

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

```shell
echo "extension=imagick.so" > /директория/из/пункта/5/imagick.ini
```

В нашем случае:

```shell
echo "extension=imagick.so" > /etc/php/7.2/apache2/conf.d/imagick.ini
```

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

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

```shell
service apache2 restart
```

7\. Обновите страницу `http://вашдомен/phpinfo.php` и найдите установленный модуль, чтобы убедиться, что все в порядке:

![66](https://content.timeweb.com/assets/ff7e1dd2-0a97-44b5-a8f5-01ae812eb0f7?width=941&height=434)

**

_Страница phpinfo() с информацией о конфигурации [PHP](https://www.php.net/) на сервере_

**

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

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

1\. Загрузить файл с расширением `.so` в директорию с остальными библиотеками (см. значение параметра `extension_dir` на странице `http://вашдомен/phpinfo.php`; в нашем примере это директория `/usr/lib/php/20170718`).

![22](https://content.timeweb.com/assets/105949a3-37c5-4a23-bda8-6140e736691d?width=940&height=51)

_Страница phpinfo() с информацией о конфигурации [PHP](https://www.php.net/) на сервере_

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

```shell
cd /etc/php/7.2/apache2/conf.d
```

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

```shell
nano имя_библиотеки.ini
```

Например:

```shell
nano curl.ini
```

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

```shell
extension=имя_библиотеки.so
```

Например:

```shell
extension=curl.so
```

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

```shell
service apache2 restart
```

6\. Обновить страницу `http://вашдомен/phpinfo.php` и убедиться, что библиотека установлена.

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

```shell
extension=/usr/local/lib/php/extensions/curl.so
```
