GNU/Linux >> Znalost Linux >  >> Cent OS

Instalace / upgrade na PHP 7.1 na CentOS 7 / RHEL 7 pomocí Remi RPM Repo

Před několika dny jsem musel upgradovat na PHP 7.1 na serveru nixcp.com, byl to velký upgrade, protože jsem spouštěl PHP 5.6.x.

Toto bylo na vrcholu mého seznamu úkolů poté, co jsem si přečetl, že PHP 7.1 bylo o 20 % rychlejší než PHP 7.0 (a všichni víme, že PHP 7.0 je přibližně dvakrát rychlejší než PHP 5.6.x), protože jsem posedlý rychlostí webu a webu. výkon, to byla šance otestovat PHP 7.1 a jeho výhody.

Nainstalujte PHP 7.1 na CentOS 7 Krok za krokem

Poté, co jsem prozkoumal, zda jsou všechny moje aplikace PHP kompatibilní, zahájil jsem proces upgradu z PHP 5.6.x na PHP 7.1 na CentOS 7.x 64 bitů. Toto je postup, který jsem použil na svém serveru.

Získejte seznam všech vašich aktuálních balíčků PHP, pro každý případ:

rpm -qa | grep php

Mělo by to vypadat podobně jako toto:

[[email protected]:~]rpm -qa | grep php
php-common-5.6.30-1.el7.remi.x86_64
php-pear-1.10.3-1.el7.remi.noarch
php-pecl-memcache-3.0.8-4.el7.remi.5.6.x86_64
php-devel-5.6.30-1.el7.remi.x86_64
php-mysqlnd-5.6.30-1.el7.remi.x86_64
php-mcrypt-5.6.30-1.el7.remi.x86_64
php56-php-common-5.6.30-1.el7.remi.x86_64
php-cli-5.6.30-1.el7.remi.x86_64
php-pecl-jsonc-devel-1.3.10-2.el7.remi.5.6.x86_64
php-pecl-igbinary-2.0.1-1.el7.remi.5.6.x86_64
php-gd-5.6.30-1.el7.remi.x86_64
php-mbstring-5.6.30-1.el7.remi.x86_64
php56-runtime-2.1-5.el7.remi.x86_64
php56-php-pecl-msgpack-0.5.7-1.el7.remi.x86_64
php-5.6.30-1.el7.remi.x86_64
php-pecl-jsonc-1.3.10-2.el7.remi.5.6.x86_64
php-xml-5.6.30-1.el7.remi.x86_64
php-process-5.6.30-1.el7.remi.x86_64
php-xcache-3.2.0-1.el7.remi.5.6.x86_64
php-pecl-memcached-2.2.0-3.el7.remi.5.6.x86_64
php-soap-5.6.30-1.el7.remi.x86_64
php-opcache-5.6.30-1.el7.remi.x86_64
php56-php-pecl-jsonc-1.3.10-1.el7.remi.x86_64
php56-php-pecl-igbinary-2.0.1-1.el7.remi.x86_64
php-pdo-5.6.30-1.el7.remi.x86_64
php-fpm-5.6.30-1.el7.remi.x86_64
php56-php-pecl-zip-1.13.5-1.el7.remi.x86_64
php-pecl-zip-1.13.5-1.el7.remi.5.6.x86_64
php-pecl-msgpack-0.5.7-1.el7.remi.5.6.x86_64
php-xmlrpc-5.6.30-1.el7.remi.x86_64
[[email protected]:~]

Nainstalujte Remi Repo pro CentOS 7.x

Již jsem měl nainstalované Remiho repo, ale pokud ne, můžete to udělat pomocí těchto příkazů:

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm

Poté povolte balíčky PHP-71 z vašeho úložiště Remi a spusťte tento příkaz:

yum-config-manager --enable remi-php71

Očekávaný výstup:

[[email protected]:~]yum-config-manager --enable remi-php71
Loaded plugins: fastestmirror, langpacks
==== repo: remi-php71 =======
[remi-php71]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7
baseurl =
cache = 0
cachedir = /var/cache/yum/x86_64/7/remi-php71
check_config_file_age = True
compare_providers_priority = 80
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage =
enabled = True
enablegroups = True
...
...
...

Poté spusťte yum update:

yum update -y

Pokud neupgradujete a chcete pouze nainstalovat PHP 7.1 na CentOS 7, stačí spustit:

yum install php php-devel php-gd php-mbstring php-mcrypt php-soap php-mysqlnd

Měl by aktualizovat všechny vaše aktuální balíčky PHP na PHP 7.1, jak vidíte níže:

Pokud se objeví tento problém:

You could try using --skip-broken to work around the problem
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
php-5.6.30-1.el7.remi.x86_64 has missing requires of httpd-mmn = ('0', '20120211x8664', None)

Lze to opravit instalací balíčku httpd, který nepoužívám, ale je vyžadován:

yum install httpd -y

Poté jsem zakázal httpd z procesu spouštění, abych se ujistil, že se nepokusí spustit společně s Nginx a nezpůsobí konflikt portu 80:

systemctl disable httpd

Odstraňte Xcache, protože jak vidím, není k dispozici pro PHP 7.1.x

yum remove php-xcache* -y

Pokud zachováte Xcache, může to vést k chybě yum, jak vidíte níže:

--> Finished Dependency Resolution
Error: Package: 1:php-xcache-3.2.0-1.el7.remi.5.6.x86_64 (@remi-php56)
Requires: php(zend-abi) = 20131226-64
Removing: php-common-5.6.30-1.el7.remi.x86_64 (@remi-php56)
php(zend-abi) = 20131226-64
Updated By: php-common-7.1.3-1.el7.remi.x86_64 (remi-php71)
php(zend-abi) = 20160303-64
Available: php-common-5.4.16-42.el7.x86_64 (base)
php(zend-abi) = 20100525-64
Available: php-common-5.6.29-1.el7.remi.x86_64 (remi-php56)
php(zend-abi) = 20131226-64
Available: php-common-7.1.2-1.el7.remi.x86_64 (remi-php71)
php(zend-abi) = 20160303-64
Error: Package: 1:php-xcache-3.2.0-1.el7.remi.5.6.x86_64 (@remi-php56)
Requires: php(api) = 20131106-64
Removing: php-common-5.6.30-1.el7.remi.x86_64 (@remi-php56)
php(api) = 20131106-64
Updated By: php-common-7.1.3-1.el7.remi.x86_64 (remi-php71)
php(api) = 20160303-64
Available: php-common-5.4.16-42.el7.x86_64 (base)
php(api) = 20100412-64
Available: php-common-5.6.29-1.el7.remi.x86_64 (remi-php56)
php(api) = 20131106-64
Available: php-common-7.1.2-1.el7.remi.x86_64 (remi-php71)
php(api) = 20160303-64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

Všiml jsem si jedné věci:několik balíčků je stále z verze PHP 5.6:

[[email protected]:~]rpm -qa | grep php56
php56-php-common-5.6.30-1.el7.remi.x86_64
php56-runtime-2.1-5.el7.remi.x86_64
php56-php-pecl-msgpack-0.5.7-1.el7.remi.x86_64
php56-php-pecl-jsonc-1.3.10-1.el7.remi.x86_64
php56-php-pecl-igbinary-2.0.1-1.el7.remi.x86_64
php56-php-pecl-zip-1.13.5-1.el7.remi.x86_64

Odstraňte je a nainstalujte verze 7.1 z Remi:

yum remove php56*
yum install yum install php71-php-common php71-runtime php71-php-pecl-msgpack php71-php-pecl-jsonc php71-php-pecl-igbinary php71-php-pecl-zip

A upgrade z PHP 5.6 na PHP 7.1 byl dokončen.

Nakonec se ujistěte, že restartujete http a php-fpm, aby se změny projevily:

systemctl restart nginx
systemctl restart php-fpm

To je vše, nyní víte, jak upgradovat nebo nainstalovat PHP 7.1 na CentOS 7. Dejte mi prosím vědět, pokud máte nějaké dotazy nebo problémy po tomto návodu.

Instalace / upgrade na PHP 7.1 na CentOS 7 / RHEL 7 pomocí Remi RPM Repo byla naposledy upravena:5. dubna 2017 Esteban Borges
Cent OS
  1. Jak nainstalovat nebo upgradovat na PHP 7 na CentOS 7 Linux Server

  2. Nainstalujte PHP Mcrypt na CentOS 6 VPS

  3. Jak nainstalovat PHP 7.3, 7.2, 7.1 na CentOS/RHEL 6.10

  1. Jak nainstalovat PHP 7.4 / 7.3 / 7.2 na CentOS 7 / RHEL 7 &CentOS 6 / RHEL 6

  2. Jak nainstalovat PHP 7.4 / 7.3 na CentOS 8 / RHEL 8

  3. [Linux]:Jak násilně upgradovat php z 5.1.6 na 5.3.3 pomocí yum na CentOS/Fedora/RHEL

  1. Jak nainstalovat Xdebug na RHEL 8 / CentOS 8 Linux

  2. Nainstalujte PHP 7.4 na CentOS 8

  3. Upgradujte PHP 5.3 na PHP 7.0 pomocí yum na CentOS/RHEL/Fedora