nginx vhost site priority

Я несколько дней безуспешно пытаюсь установить php. Процесс, который обычно занимает 2 минуты. У меня CentOS 7.4.1708 и Apache 2.4.6.
Когда я устанавливаю php с помощью yum install php и запускаю команду php -v Я получаю сообщение об ошибке php: /lib64/libcrypto.so.10: версия OPENSSL_1.0.2 не найдена (требуется php)
Когда я запускаю команду rpm - qi openssl
Я получаю пакет openssl не установлен
Когда я запускаю версию openssl
, я получаю OpenSSL 1.0.1e-fips 11 февраля 2013 г.
Когда я запускаю команду yum info openssl Я получаю

доступных пакетов Имя: openssl Арка: x86_64 Эпоха: 1 Версия: 1.0.2k Релиз: 8.el7 Размер: 492 тыс. Репо: base / 7 / x86_64 Описание: Утилиты из библиотеки криптографии общего назначения с реализацией TLS. URL: http://www.openssl.org/ Лицензия: OpenSSL Описание: набор инструментов OpenSSL обеспечивает поддержку безопасного обмена данными между : машины. OpenSSL включает в себя инструмент управления сертификатами и общие : библиотеки, которые предоставляют различные криптографические алгоритмы и : протоколы.


yum info php дает
Доступные пакеты Имя: php Арка: x86_64 Версия: 5.4.16 Релиз: 43.el7_4.1 Размер: 1,4 м Репо: обновления / 7 / x86_64 Описание: язык сценариев PHP для создания динамических веб-сайтов. URL: http://www.php.net/ Лицензия: PHP, Zend и BSD. Описание: PHP - это язык сценариев со встроенным HTML. PHP пытается сделать это : разработчикам легко писать динамически генерируемые веб-страницы. PHP также : предлагает встроенную интеграцию с базами данных для нескольких коммерческих и : некоммерческие системы управления базами данных, поэтому напишите : веб-страница с поддержкой базы данных с PHP довольно проста. Самый распространенный : использование PHP-кода, вероятно, заменяет сценарии CGI. : : Пакет php содержит модуль (часто называемый mod_php) : который добавляет поддержку языка PHP к HTTP-серверу Apache.

Результатом yum update openssl является

Loaded plugins: fastestmirror, priorities
base                                                                                        | 3.6 kB  00:00:00     
cm-rhel7-8.0                                                                                | 1.3 kB  00:00:00     
cm-rhel7-8.0-updates                                                                        | 1.3 kB  00:00:00     
epel/x86_64/metalink                                                                        |  29 kB  00:00:00     
extras                                                                                      | 3.4 kB  00:00:00     
updates                                                                                     | 3.4 kB  00:00:00     
webtatic                                                                                    | 3.6 kB  00:00:00     
Loading mirror speeds from cached hostfile
 * base: centos.mirroring.pulsant.co.uk
 * cm-rhel7-8.0: updates-eu.brightcomputing.com
 * cm-rhel7-8.0-updates: updates-eu.brightcomputing.com
 * epel: www.mirrorservice.org
 * extras: centos.mirroring.pulsant.co.uk
 * updates: centos.mirroring.pulsant.co.uk
 * webtatic: uk.repo.webtatic.com
101 packages excluded due to repository priority protections
No packages marked for update

Вот результат команды ldd /lib64/libcrypto.so.10

linux-vdso.so.1 => (0x00002aaaaaaab000) libdl.so.2 => /lib64/libdl.so.2 (0x00002aaaaaea8000) libz.so.1 => /lib64/libz.so.1 (0x00002aaaab0ac000) libc.so.6 => /lib64/libc.so.6 (0x00002aaaab2c3000) /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) Вывод команды openssl version -a

openssl: /lib64/libcrypto.so.10: версия ʻOPENSSL_1.0.2 'не найдена (требуется openssl) Вот результат , который openssl / usr / bin / openssl Вывод env | grep LD_ пуст.

Хорошо, я продвигаюсь вперед, с помощью этой команды yum переустановите openssl openssl-libs Эта ошибка исчезла. Я думаю, есть небольшая проблема. Вывод команды php -v : Предупреждение PHP: запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib64/php/modules/zip.so' - libzip.so.2: невозможно открыть файл общих объектов: нет такого файла или каталога в Неизвестном в строке 0 PHP 5.4.16 (cli) (построено: 7 марта 2018 13:34:47) Авторские права (c) 1997-2013 PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

Как получить правильную версию php и openssl, чтобы избавиться от ошибки?

3
задан 26 April 2018 в 23:39
2 ответа

Чтобы заставить его работать на Centos 7

yum install -y php php-common

yum install -y openssl openssl-libs

systemctl restart httpd

0
ответ дан 3 December 2019 в 07:50

Чтобы решить ваши проблемы,эта команда должна помочь:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
yum reinstall openssl openssl-libs -y
yum reinstall libzip -y

yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php54
yum install php php-common php-pecl-zip -y

Но клиенты с версией openssl ниже 1.1.0 не будут разрешать сертификаты letsencrypt со вчерашнего дня. лучшая практика для centos 7 - установить последнюю версию openssl из исходного кода, потому что ее нет ни в одном репозитории yum в виде пакета вы можете сделать это с помощью этого скрипта:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
yum groupinstall -y "Development Tools" "Development Libraries"

cd /usr/src
wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1l.tar.gz
tar -zxf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l
./config
make
make install
mv /usr/local/lib64/libcrypto.so.1.1 /usr/local/lib64/libssl.so.1.1 /usr/lib64/
yum install php php-common -y
yum install ca-certificates -y 
systemctl restart httpd

Также я бы рекомендовал вам установить как минимум 7+ версию php вместо очень устаревшей версии 5.4. Вы можете сделать это так:

yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
yum-config-manager --disable 'remi-php*'
yum-config-manager --enable   remi-php74
yum install php php-common -y # and others packages you need
0
ответ дан 1 October 2021 в 23:36

Теги

Похожие вопросы