Ниже мы рассмотрим установку модулей PHP на сервер с операционной системой Ubuntu или Debian.
Создание phpinfo-скрипта
В процессе установки модулей нам потребуется получать информацию о параметрах PHP на сервере, поэтому в первую очередь разместим скрипт phpinfo.php в директории сайта.
Для этого подключитесь к серверу по SSH и выполните следующие шаги:
1. Перейдите в директорию сайта:
Например, если на сервере установлен LAMP (автоматически при создании сервера):
Если на сервере установлена панель VestaCP:
2. Создайте файл phpinfo.php:
3. Добавьте в него следующее содержимое:
4. Сохраните изменения (нажмите Ctrl+X для выхода из nano, далее Y для сохранения изменений и Enter).
После перейдите по адресу http://вашдомен/phpinfo.php, и в браузере будет отображена информация о настройках PHP.
Установка модулей на примере imagick
Рассмотрим установку модулей php на примере модуля imagick.
1. Уточните имя пакета.
Если вы не уверены в точном названии пакета, можно воспользоваться командой ниже, указав часть названия пакета. Для PHP названия большинства библиотек будут начинаться с «php».
Например:
Вывод команды выглядит примерно следующим образом:
В данном случае нам будет нужен пакет php-imagick.
2. Обновите информацию из репозиториев:
3. Установите библиотеку:
Например:
4. Проверьте, какая директория задана для расширений. Для этого нужно на странице http://вашдомен/phpinfo.php найти параметр «extension_dir»:
Перейдите в указанную директорию:
В нашем случае:
Проверьте, есть ли в ней установленная библиотека:
Можно указать часть имени библиотеки, чтобы упростить вывод, например:
Если библиотека присутствует, она будет выведена в консоли:
5. Проверьте, какая директория используется для дополнительных конфигурационных файлов. Для этого нужно на странице http://вашдомен/phpinfo.php найти параметр «Scan this dir for additional .ini files»:
Перейдите в указанную директорию и просмотрите ее содержимое:
В нашем случае:
Можно указать часть имени библиотеки, чтобы упростить вывод, например:
Если конфигурационный файл с директивой, подключающей библиотеку, успешно создан, он будет выведен в консоли:
Если файл отсутствует, воспользуйтесь командой ниже, чтобы его создать:
В нашем случае:
Она создаст файл конфигурации imagick.ini в нужной директории и добавит в него директиву extension=imagick.so.
6. Перезагрузите веб-сервер Apache:
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):
3. Создать конфигурационный файл:
Например:
4. Указать в данном файле директиву и сохранить изменения:
Например:
5. Перезапустить Apache:
6. Обновить страницу http://вашдомен/phpinfo.php и убедиться, что библиотека установлена.
Если файл библиотеки был размещен в другой директории, то на шаге 4 необходимо в директиве extension указать соответствующий путь, например: