Я пытаюсь установить следующие библиотеки в Oracle Linux 8, но не работаю. В Debian 11 после установки php8.1-fpm я запускаю следующую команду, и она работает.
sudo apt установить php8.1-mysql php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip php8.1-curl php8.1-imagick php8.1-мыло
В Oracle Linux я пробовал следовать, но не повезло. Установленная версия PHP FPM 7.2.24.
sudo yum install php-mysql
sudo yum install php7.2-mysql
sudo yum install php7.2.24-mysql
Все эти команды не смогли сказать Error: Unable to find a match:
Как установить эти библиотеки?
php-fpm оракул-линукс
1 ответ
Изменить версию PHP
Во-первых, небольшое замечание: PHP 7.2 устарел, вы должны использовать как минимум PHP 7.4, но предпочтительнее 8.0. Если вы не хотите обновляться, пропустите этот раздел.
Вы можете изменить (будущую) установленную версию PHP с помощью следующей команды (вы можете запросить доступные версии с помощью dnf module list php):
dnf module enable php:8.0
Однако это работает только в том случае, если пакеты не установлены, поэтому, если у вас установлены какие-либо пакеты PHP (в этом случае приведенная выше команда выдаст ошибку), вы должны ввести следующие команды:
dnf module reset php
dnf install @php:8.0
dnf distro-sync
Установить PHP-пакеты
Использовать php-mysqlnd вместо php-mysqlа также php-pecl-zip вместо php-zip. Расширение cURL находится в php-common, поэтому для этого вам не нужно устанавливать никаких дополнительных пакетов. Остальные должны существовать, кроме расширения ImageMagick. Для полноты, вот что вы должны установить:
dnf install php php-common php-mysqlnd php-pecl-zip php-gd \
php-mbstring php-xml php-soap
Установка расширения ImageMagick немного сложнее. Вот что вы должны сделать.
Установите oracle-epel-release-el8 упаковка. Он содержит пакет ImageMagick, который вам понадобится.
dnf install oracle-epel-release-el8
Установите ImageMagick и необходимые пакеты для разработки:
dnf install ImageMagick ImageMagick-devel php-devel php-pear make
Затем используйте pecl установить imagick расширение:
pecl install imagick
Просто примите значение по умолчанию («автоопределение») в качестве префикса. После этого добавьте расширение в конфигурацию PHP:
echo "extension=imagick.so" > /etc/php.d/99-imagick.ini
И это сделано. Результат php -m теперь должно содержать imagick. Вам нужно будет перезапустить свой веб-сервер, чтобы он мог подобрать измененные библиотеки PHP.
Обратите внимание, что после этого обновление PHP потребует отключения imagick расширение, а также его перекомпиляцию и повторное включение после обновления. Скорее всего, это будет проблемой только при смене основных версий.
кружево
