Помощь

Установка модулей PHP на Debian и Ubuntu

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

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

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

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

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

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

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

cd /var/www/html 

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

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

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

nano phpinfo.php

3. Вставьте следующий код в файл phpinfo.php:

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

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

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

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

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

1. Определите имя пакета.

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

apt-cache search имя_пакета

Например:

apt-cache search php-imagick

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


В данном случае, нам понадобится установить пакет php-imagick.

2. Обновите информацию о доступных пакетах из репозиториев:

apt update

3. Установите необходимую библиотеку, например:

apt install php-imagick

4. Проверьте, какая директория установлена для хранения расширений. Эту информацию можно найти на странице http://вашдомен/phpinfo.php, параметр «extension_dir»:


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

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

В вашем конкретном случае:

cd /usr/lib/php/20170718

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

ls 

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

ls ima*

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


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


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

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

В вашем конкретном случае:

cd /etc/php/7.2/apache2/conf.d 
ls 

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

ls *imag*

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


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

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

В данном случае:

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

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

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

service apache2 restart

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


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

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

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


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

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

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

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

Например:

nano curl.ini

4. Внутри созданного файла укажите директиву и сохраните внесенные изменения:

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

Например:

extension=curl.so

5. Перезапустите веб-сервер Apache:

service apache2 restart

6. После этого обновите страницу http://вашдомен/phpinfo.php и проверьте, что библиотека успешно установлена.

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

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

Остались вопросы - пишите