Page tree

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

Создание 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. Уточните имя пакета.

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

yum search ima

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

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

yum update

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

yum install ImageMagick ImageMagick-devel

4. Большинство расширений можно установить из репозитория PECL (чтобы убедиться, что этот способ подходит для нужного расширения, проверьте его наличие здесь: https://pecl.php.net/packages.php).

Установите пакет php-pear:

yum install php-pear gcc make php-devel

5. Выполните команду:

pecl install imagick

6. В процессе установки будет выведен запрос:

Please provide the prefix of Imagemagick installation

В ответ на запрос системы введите all и нажмите Enter.

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

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

cd /usr/lib64/php/modules

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

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

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

8. Выполните команду ниже, чтобы создать файл конфигурации imagick.ini и добавить в него директиву extension=imagick.so:

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

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

systemctl restart httpd

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

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

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

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

2. Перейти в директорию /etc/php.d:

cd /etc/php.d

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

nano имя_библиотеки.ini
 
# Например:
nano curl.ini

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

extension=имя_библиотеки.so
 
# Например:
extension=curl.so

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

systemctl restart httpd

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

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

extension=/usr/local/lib/php/extensions/curl.so
  • No labels