Бесплатная миграция IT-инфраструктуры в облако
На главную
61c46507-12c7-4300-a301-bd8bc30c7c19
Инструкции для серверов

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

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

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

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

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

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

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

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

cd /var/www/html 

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

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

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

nano phpinfo.php

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

<?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-ima

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

11

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

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

apt update

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

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

Например:

apt install php-imagick

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

22

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

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

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

cd /usr/lib/php/20170718

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

ls 

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

ls ima*

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

33

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

44

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

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

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

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

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

ls *imag*

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

55

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

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 и найдите установленный модуль, чтобы убедиться, что все в порядке:

66

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

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

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

22

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
Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев