Ниже мы рассмотрим установку модулей PHP на сервер с операционной системой CentOS.
В процессе установки модулей нам потребуется получать информацию о параметрах 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.
Рассмотрим установку модулей 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.ph
p и убедиться, что библиотека установлена.
Если файл библиотеки был размещен в другой директории, то на шаге 4 необходимо в директиве extension
указать соответствующий путь, например:
extension=/usr/local/lib/php/extensions/curl.so