Вопрос или проблема
У меня php8.2 на Kubuntu 22.04 :
# php -v
PHP 8.2.25 (cli) (собран: 30 окт 2024 11:25:56) (NTS)
Авторские права (c) The PHP Group
Zend Engine v4.2.25, Авторские права (c) Zend Technologies
с Zend OPcache v8.2.25, Авторские права (c), от Zend Technologies
с Xdebug v3.3.2, Авторские права (c) 2002-2024, от Дерика Ретханса
uname -a
Linux master-at-home 6.5.0-35-generic #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Вт 7 мая 09:00:52 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
Мне нужно установить imagemagick, и я делаю это командой :
# sudo apt install --assume-yes php-imagick
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
php8.4-cli php8.4-common php8.4-imagick php8.4-opcache php8.4-phpdbg php8.4-readline
Рекомендуемые пакеты:
php-pear
Будут установлены следующие НОВЫЕ пакеты:
php-imagick php8.4-cli php8.4-common php8.4-imagick php8.4-opcache php8.4-phpdbg php8.4-readline
0 обновлено, 7 установлено новых, 0 к удалению и 6 не обновлено.
Необходимо загрузить 5 426 kB архивов.
После этой операции будет использовано дополнительно 24,2 MB дискового пространства.
Получение:1 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-common amd64 8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1 [802 kB]
Получение:2 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-opcache amd64 8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1 [465 kB]
Получение:3 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-readline amd64 8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1 [13,6 kB]
Получение:4 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-cli amd64 8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1 [1 993 kB]
Получение:5 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-phpdbg amd64 8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1 [2 014 kB]
Получение:6 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-imagick amd64 3.7.0-8+ubuntu22.04.1+deb.sury.org+1 [125 kB]
Получение:7 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php-imagick all 3.7.0-8+ubuntu22.04.1+deb.sury.org+1 [13,1 kB]
Загружено 5 426 kB за 5с (1 054 kB/c)
Выбор ранее не выбранного пакета php8.4-common.
(Чтение базы данных ... 286663 файлов и каталогов в настоящее время установлено.)
Подготовка к распаковке .../0-php8.4-common_8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Распаковка php8.4-common (8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1) ...
Выбор ранее не выбранного пакета php8.4-opcache.
Подготовка к распаковке .../1-php8.4-opcache_8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Распаковка php8.4-opcache (8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1) ...
Выбор ранее не выбранного пакета php8.4-readline.
Подготовка к распаковке .../2-php8.4-readline_8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Распаковка php8.4-readline (8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1) ...
Выбор ранее не выбранного пакета php8.4-cli.
Подготовка к распаковке .../3-php8.4-cli_8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Распаковка php8.4-cli (8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1) ...
Выбор ранее не выбранного пакета php8.4-phpdbg.
Подготовка к распаковке .../4-php8.4-phpdbg_8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Распаковка php8.4-phpdbg (8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1) ...
Выбор ранее не выбранного пакета php8.4-imagick.
Подготовка к распаковке .../5-php8.4-imagick_3.7.0-8+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Распаковка php8.4-imagick (3.7.0-8+ubuntu22.04.1+deb.sury.org+1) ...
Выбор ранее не выбранного пакета php-imagick.
Подготовка к распаковке .../6-php-imagick_3.7.0-8+ubuntu22.04.1+deb.sury.org+1_all.deb ...
Распаковка php-imagick (3.7.0-8+ubuntu22.04.1+deb.sury.org+1) ...
Настройка php8.4-common (8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1) ...
Создание конфигурационного файла /etc/php/8.4/mods-available/calendar.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/ctype.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/exif.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/fileinfo.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/ffi.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/ftp.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/gettext.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/iconv.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/pdo.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/phar.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/posix.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/shmop.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/sockets.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/sysvmsg.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/sysvsem.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/sysvshm.ini с новой версией
Создание конфигурационного файла /etc/php/8.4/mods-available/tokenizer.ini с новой версией
Настройка php8.4-opcache (8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1) ...
Создание конфигурационного файла /etc/php/8.4/mods-available/opcache.ini с новой версией
Настройка php8.4-readline (8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1) ...
Создание конфигурационного файла /etc/php/8.4/mods-available/readline.ini с новой версией
Настройка php8.4-cli (8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1) ...
Создание конфигурационного файла /etc/php/8.4/cli/php.ini с новой версией
Настройка php8.4-imagick (3.7.0-8+ubuntu22.04.1+deb.sury.org+1) ...
Настройка php8.4-phpdbg (8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1) ...
update-alternatives: использование /usr/bin/phpdbg8.4 для предоставления /usr/bin/phpdbg (phpdbg) в автоматическом режиме
Создание конфигурационного файла /etc/php/8.4/phpdbg/php.ini с новой версией
Настройка php-imagick (3.7.0-8+ubuntu22.04.1+deb.sury.org+1) ...
Обработка триггеров для man-db (2.10.2-1) ...
Обработка триггеров для php8.4-cli (8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1) ...
Обработка триггеров для php8.4-phpdbg (8.4.0~rc3-1+ubuntu22.04.1+deb.sury.org+1) ...
Что меня смущает в выводе выше, так это php8.4, но я использую php8.4
Я успешно перезапустил apache2:
# service apache2 restart
и проверяю
# php --modules | grep imagick
Но последняя строка возвращает пустую строку, значит imagemagick не был установлен?
В выводе phpinfo ничего не упоминается об imagemagick…
Что не так?
Ответ или решение
Чтобы установить расширение ImageMagick для PHP 8.2 на Kubuntu 22.04, необходимо выполнить несколько шагов. На первый взгляд, вы столкнулись с проблемой, так как при попытке установить php-imagick
возникает зависимость от PHP 8.4, что создает путаницу. Давайте решим эту проблему шаг за шагом.
1. Установка необходимых пакетов
Для начала убедитесь, что у вас установлены все необходимые пакеты для работы с PHP и ImageMagick. Выполните следующие команды в терминале:
sudo apt update
sudo apt install php8.2 php8.2-cli php8.2-dev libmagickwand-dev
2. Установка PECL-расширения ImageMagick
После установки PHP и необходимых библиотек нужно установить расширение ImageMagick через PECL. PECL – это репозиторий для расширений PHP. Чтобы установить расширение, выполните следующую команду:
sudo pecl install imagick
Если pecl
не установлен, установите его с помощью команды:
sudo apt install php-pear
3. Подключение расширения в PHP
После успешной установки расширения необходимо включить его в конфигурацию PHP. Создайте файл конфигурации для расширения Imagick в каталоге модулей PHP. Это можно сделать с помощью команды:
echo "extension=imagick.so" | sudo tee /etc/php/8.2/mods-available/imagick.ini
Теперь создайте символическую ссылку для подключения этого расширения:
sudo phpenmod imagick
4. Перезагрузка веб-сервера
Не забудьте перезагрузить веб-сервер, чтобы изменения вступили в силу. Если вы используете Apache, выполните команду:
sudo service apache2 restart
5. Проверка установки
Теперь проверьте, установлено ли расширение Imagick, выполнив следующую команду:
php -m | grep imagick
Если все сделано правильно, вы должны увидеть imagick
в списке загруженных модулей. Кроме того, вы можете создать файл phpinfo.php
в корневом каталоге вашего веб-сервера (обычно это /var/www/html
) со следующим содержимым:
<?php
phpinfo();
?>
Откройте этот файл в браузере, перейдя по адресу http://localhost/phpinfo.php
, и проверьте наличие информации о Imagick в выводе.
Заключение
Следуя указанным шагам, вы сможете успешно установить и подключить ImageMagick для PHP 8.2 на вашем сервере Kubuntu 22.04. Если у вас возникли дополнительные вопросы или проблемы, не стесняйтесь задать их.