Я пытаюсь обновить свой PHP (в настоящее время v: 5.3.3 до последней стабильной PHP-сборки), но он не играет в мяч, и он говорит, что ничего не обновлять.
Любая помощь будет полезна.
Продолжает говорить:
Пакеты, помеченные для обновления
Как упоминал Джейкоб, репо на CentOS-пакетах пока доступно только для PHP 5.3. Но эти команды, похоже, работали для меня …
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm yum remove php-common # Need to remove this, otherwise it conflicts yum install php56w yum install php56w-mysql yum install php56w-common yum install php56w-pdo yum install php56w-opcache php --version # Verify version has been upgraded
В случае необходимости вы можете использовать php54w
или php55w
.
ВНИМАНИЕ!
Это может потенциально нарушить ваш сайт, если он не полностью разрешит все ваши зависимости, поэтому вам может понадобиться несколько дополнительных пакетов в некоторых случаях. См. Здесь список других доступных модулей PHP 5.6.
Если вы столкнулись с проблемой и вам нужно вернуться к умолчанию, вы можете использовать следующие команды:
sudo yum remove php56w sudo yum remove php56w-common sudo yum install php-common sudo yum install php-mysql sudo yum install php
(Спасибо Фабрицио Бартоломуччи)
Для CentOS 6 PHP 5.3.3 является последней версией PHP, доступной через официальный репозиторий пакетов CentOS . Имейте в виду, хотя PHP 5.3.3 был выпущен 22 июля 2010 года , официальный пакет CentOS 6 PHP был обновлен 24 ноября 2013 года. Почему? Исправлены критические исправления ошибок. См. Этот вопрос для получения дополнительной информации: «Почему устаревшие пакеты установлены yum на CentOS? (В частности, PHP 5.1). Как исправить?»
Если вы хотите использовать более новую версию PHP, Les RPM de Remi предлагает пакеты CentOS PHP через репозиторий, которые вы можете добавить в менеджер пакетов yum. Чтобы добавить его в качестве репозитория yum, следуйте инструкциям на сайте .
Примечание. Вопросы этого сорта, вероятно, лучше подходят для Server Fault .
Мне удалось установить php54w в соответствии с предложением Саймона, но затем мои сайты перестали работать, возможно, из-за несовместимости с php-mysql или каким-либо другим модулем. Даже отчаянное восстановление старой ситуации было не забавным: для каждого в моей собственной ситуации последовательность:
sudo yum remove php54w sudo yum remove php54w-common sudo yum install php-common sudo yum install php-mysql sudo yum install php
Было бы неплохо, если бы кто-то представил полную процедуру обновления всего пакета php. Это был мой производственный сервер, и мое сердце все еще быстро бьется.
Это самый простой способ, который работал для меня: для установки PHP 5.6 на CentOS 6 или 7:
CentOS 6. Введите следующие команды в указанном порядке:
yum -y update yum -y install epel-release wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm wget https://centos6.iuscommunity.org/ius-release.rpm rpm -Uvh ius-release*.rpm yum -y update yum -y install php56u php56u-opcache php56u-xml php56u-mcrypt php56u-gd php56u-devel php56u-mysql php56u-intl php56u-mbstring php56u-bcmath
CentOS 7. Введите следующие команды в указанном порядке:
yum -y update yum -y install epel-release wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm wget https://centos7.iuscommunity.org/ius-release.rpm rpm -Uvh ius-release*.rpm yum -y update yum -y install php56u php56u-opcache php56u-xml php56u-mcrypt php56u-gd php56u-devel php56u-mysql php56u-intl php56u-mbstring php56u-bcmath
Извините – я не могу опубликовать URL-адрес источника – из-за репутации
Проверьте текущую версию PHP-типа следующим образом, чтобы увидеть текущую версию PHP:
php -v
Должно вывести что-то вроде:
PHP 5.3.3 (cli) (построено: 9 июля 2015 г. 17:39:00) Copyright (c) 1997-2010 PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
Установите репозитории Remi и EPEL RPM
Если вы еще этого не сделали, установите репозитории Remi и EPEL
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm && rpm -Uvh epel-release-latest-6.noarch.rpm wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm && rpm -Uvh remi-release-6*.rpm
Включить репозиторий REMI по всему миру:
nano /etc/yum.repos.d/remi.repo
В разделе, которое выглядит как [remi], внесите следующие изменения:
[remi] name=Remi's RPM repository for Enterprise Linux 6 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/6/remi/$basearch/ mirrorlist=http://rpms.remirepo.net/enterprise/6/remi/mirror enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
Кроме того, в разделе, который выглядит как [remi-php55], внесены следующие изменения:
[remi-php56] name=Remi's PHP 5.6 RPM repository for Enterprise Linux 6 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/6/php56/$basearch/ mirrorlist=http://rpms.remirepo.net/enterprise/6/php56/mirror # WARNING: If you enable this repository, you must also enable "remi" enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
Введите CTRL-O для сохранения и CTRL-X, чтобы закрыть редактор
Обновление PHP 5.3 до PHP 5.6 Теперь мы можем обновить PHP. Просто введите следующую команду:
yum -y upgrade php *
Как только обновление завершится, давайте проверим, что у вас установлен PHP 5.6:
php -v
Должен увидеть результат, похожий на следующий:
PHP 5.6.14 (cli) (built: Sep 30 2015 14:07:43) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
IUS предлагает сценарий установки для подписки на свой репозиторий и импорт связанных ключей GPG. Убедитесь, что вы находитесь в своем домашнем каталоге и извлекаете скрипт с помощью curl:
curl 'https://setup.ius.io/' -o setup-ius.sh sudo bash setup-ius.sh
Установка необходимых пакетов:
sudo yum install -y mod_php70u php70u-cli php70u-mysqlnd php70u-json php70u-gd php70u-dom php70u-simplexml php70u-mcrypt php70u-intl
Подробнее см. В « Моя статья» .
Этот ответ Амины отлично поработал. Я бы добавил, что мне нужно было сохранить один из IP-адресов в 5.3.3. Я смог сделать это в Pleks Onyx с помощью приложения CGI от Apache. Не уверен, почему приложение Fast CGI не работало. Но затем я переключил его обратно на Fast CGI, и он сработал.