Установка дополнительных модулей PHP на CentOS
Ниже мы познакомимся с процессом установки модулей PHP на сервере, работающем под управлением операционной системы CentOS.
Создание скрипта phpinfo
Прежде чем перейти к установке модулей PHP, нам потребуется получать информацию о параметрах 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. Сохраните внесенные изменения (для выхода из редактора nano, нажмите Ctrl+X, затем подтвердите сохранение, нажав 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