Рейтинг:1

Apache остается на PHP 7, а версии сервера - на PHP 8.

флаг ug

Я только что установил php 8 (после https://rpms.remirepo.net/wizard/) на моем VPS с CentOS 7. Хотя в CLI он показывает, что доступен PHP 8, когда я обслуживаю веб-страницу с помощью phpinfo(), он по-прежнему показывает php 7.

PHP 8.0.7 (cli) (построено: 1 июня 2021 г., 18:43:05) (NTS gcc x86_64)
Авторское право (c) Группа PHP
Zend Engine v4.0.7, авторское право (c) Zend Technologies

Также, когда я проверяю композитор, он показывает php 8

Запуск 2.1.3 (2021-06-09 16:31:20) с PHP 8.0.7 в Linux / 3.10.0-1127.18.2.el7.x86_64

Но через веб-страницу, отображающую phpinfo(), она показывает

PHP версии 7.2.34

Команды, которые я запускал (из мастера remi) для установки PHP:

установка yum https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

ням установить https://rpms.remirepo.net/enterprise/remi-release-7.rpm

yum установить yum-utils

ням установить php80

Затем я попытался перезапустить apache с помощью «sudo systemctl restart httpd.service», но это не помогло. Я подозреваю, что мне каким-то образом нужно переключаться между обеими версиями PHP, но я не знаю, является ли это причиной или как это сделать.

Еще немного информации

$ какой php
/USR/бен/php

$ где php
php: /usr/bin/php /usr/lib64/php /etc/php.ini /etc/php.d /usr/include/php /usr/share/php /usr/share/man/man1/php.1 .gz

где php80
php80: /usr/bin/php80

$ httpd -v
Версия сервера: Apache/2.4.6 (CentOS)
Сервер построен: 16 ноя 2020 16:18:20

Мой дальнейший поиск (thnx t3ln3t) привел меня к файлам конфигурации apache, которые ссылаются на файл конфигурации php7, который затем указывает на «libphp72.so». Итак, я предполагаю, что в конечном итоге это должно указывать на php8. Но хотя php8 установлен, я не вижу файл libphp80.so.

Спасибо за любые рекомендации о том, что мне делать дальше, чтобы конфигурация apache указывала на недавно установленную версию php8.

флаг ug
@MichaelHampton Я обновил вопрос с установленным пакетом. Не уверен, что если бы я перезапустил PHP, какая это была бы команда?
флаг ug
Я установил PHP8
Michael Hampton avatar
флаг cz
Я просмотрел ваше редактирование, но оно ничего не говорит об установке вами PHP 8. Как он попал в вашу систему?
флаг ug
Я установил php 8 с помощью команд, сгенерированных через https://rpms.remirepo.net/wizard/. Я добавил каждую команду, которую я запускал в вопросе.
Michael Hampton avatar
флаг cz
Отмените установку php80 и начните заново. Вы выбрали «Несколько версий одновременно», и вы должны были выбрать «По умолчанию / Одна версия (самый простой способ)».
Рейтинг:2
флаг in

Вероятно, в вашей системе установлены две версии. Если вы посмотрите на установленные вами пакеты, вы, скорее всего, обнаружите, что php7 уже установлен и находится где-то еще в системе. Скорее всего, в пути поиска, который apache использует для поиска вещей. Кроме того, проверьте файл конфигурации Apache. mod_php, скорее всего, имеет имя и указан полный путь к этому модулю.

# об/мин -ка | grep php

Эта команда должна показать вам все установленные версии php, которые были установлены с помощью rpm.Если php7 был установлен из исходного дистрибутива или архива, который кто-то сделал или нашел, это будет ОТСУТСТВИЕ!!! Если вы найдете php7 rpm, запланируйте техническое обслуживание (время простоя) для вашего сайта, удалите старые php rpm и затем перезапустите apache. Опять же, позаботьтесь о том, чтобы просмотреть файлы конфигурации apache, так как mod_php, вероятно, имеет имя и полный путь. Вы захотите изменить это, чтобы apache знал, что нужно смотреть на более новую версию php.

флаг ug
Спасибо, эта команда у меня не работает, но конфигурация apache, расположенная в /etc/httpd/conf/httpd.conf, действительно указывает на conf.modules.d/*.conf, в котором присутствует 15-php72-php.conf. . Итак, я предполагаю, что мне нужно изменить там, чтобы указать на php80 вместо php72?!?
t3ln3t avatar
флаг in
убедитесь, что вы сохранили копию этого файла конфигурации без изменений, прежде чем вносить изменения. По крайней мере, вы можете вернуть его на рабочий php7, если ваши модификации по какой-то причине не работают. В противном случае я бы сказал да.
Remi Collet avatar
флаг jp
Вам, вероятно, нужно удалить mod_php (пакет php72-php) и установить правильную версию (php80-php), кстати, как сказал Майкл Хэмптон, проще следовать инструкциям мастера для «одной версии», если вы действительно не хотите несколько версий.
Remi Collet avatar
флаг jp
И если вам нужна несколько версий, я рекомендую вам переключиться на FPM и прочитать https://developers.redhat.com/blog/2017/10/25/php-configuration-tips.
флаг ug
Thnx @RemiCollet Я начал с установки одиночной версии, но результат был тот же. Похоже, что раньше в конфиге апача какой-то конкретный конфиг делался с глубокими симлинками на версию php. Попытка распутать и решить это сейчас.
флаг ug
В конце концов я удалил php и переустановил через: ням удалить php* yum установить php php-{cli, fpm,mysqlnd,zip,devel,gd,mbstring,curl,xml,pear,bcmath,json} служба http configtest systemctl запустить httpd

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.