RHEL/CentOS 7でphp 7.2を使う方法(2019/02/22更新)


RHEL7 / CentOS7のphpは5.4.16である。

新しいバージョンのphpを使う場合はソースからコンパイルして導入するか、3rdレポジトリを利用する必要がある。

有名なのはremiだが、Oracle Linuxにもあった。

うちはCentOS7だけど、 Oracle Linuxのol7_developer_php72レポジトリを追加する形で使っている。

1. remi-php?? レポジトリ

標準のphpを新しいバージョンで置き換える「remi-php??」レポジトリ(こちらはphpコマンドが置き換わる)と、標準のPHPはそのままに、そして後述のSCLとも共存できる「remi-safe」レポジトリ(こちらはphp73コマンドなどになる)というものもある。

Web: https://rpms.remirepo.net/enterprise/7/
提供中PHPバージョン: 7.3, 7.2, 7.1, 7.0, 5.6
EOLしたもの: 5.5, 5.4

2. PHP for Oracle Linux

Web: http://yum.oracle.com/oracle-linux-php.html
PHPバージョン: 7.2, 7.1, 7.0

php v7.2に置き換える場合の手順

# yum install yum-utils
# curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle https://yum.oracle.com/RPM-GPG-KEY-oracle-ol7
# curl -o /etc/yum.repos.d/public-yum-ol7.repo http://yum.oracle.com/public-yum-ol7.repo
# yum-config-manager --disable ol7_\*
# yum-config-manager --enable ol7_developer_php72
# 「yum install php」もしくは「yum update」で既存phpパッケージをphp72にアップデート
# systemctl restart httpd

上記でdisableを忘れるとOracle Linuxにアップデートしてしまうかもしれないので注意すること。また、先にyum-utilsをインストールしておくこと

3. webtatic

Web: https://webtatic.com/
提供中PHPバージョン: 7.2, 7.1, 5.6
EOLしたもの:7.0

4. Software Collection (SCL)

CentOSのwikiに「Using PHP 7.x on CentOS 7.4」という記載があった。
CentOS Software Collectionレポジトリにあるという。

確認してみると、「rh-php70~」「rh-php71~」「rh-php72~」と標準のパッケージ名とは別に設定されているものがあった。また、rh-phpにないものを補完するための「sclo-php~」というのもあった。

PHP 7.2 by Software Collections」とRedHat DEVELOPER BLOGの「PHP Configuration Tips」に参考になる記述があるが、FastCGIを使うための装備はあるが、mod_phpを使うための装備はない。

Remiさんとこのblog「PHP 7.2 as Software Collection」にSCLとRemiレポジトリの違いが書かれている。また、複数バージョンのPHPを1サーバで共存させる場合の手法「My PHP Workstation」も公開されている。

# yum -y install centos-release-scl.noarch
<略>
================================================================================
 Package                    アーキテクチャー
                                        バージョン            リポジトリー
                                                                           容量
================================================================================
インストール中:
 centos-release-scl         noarch      2-2.el7.centos        extras       12 k
依存性関連でのインストールをします:
 centos-release-scl-rh      noarch      2-2.el7.centos        extras       12 k

トランザクションの要約
================================================================================
インストール  1 パッケージ (+1 個の依存関係のパッケージ)

総ダウンロード容量: 24 k
インストール容量: 39 k
<略>
# yum search rh-php
<略>
============================= N/S matched: rh-php ==============================
rh-php70-runtime.x86_64 : Package that handles rh-php70 Software Collection.
rh-php70-scldevel.x86_64 : Package shipping development files for rh-php70
rh-php71-runtime.x86_64 : Package that handles rh-php71 Software Collection.
rh-php71-scldevel.x86_64 : Package shipping development files for rh-php71
rh-php72-runtime.x86_64 : Package that handles rh-php72 Software Collection.
rh-php72-scldevel.x86_64 : Package shipping development files for rh-php72
rh-php70.x86_64 : Package that installs PHP 7.0
rh-php70-build.x86_64 : Package shipping basic build configuration
rh-php70-php.x86_64 : PHP scripting language for creating dynamic web sites
rh-php70-php-bcmath.x86_64 : A module for PHP applications for using the bcmath
                           : library
rh-php70-php-cli.x86_64 : Command-line interface for PHP
rh-php70-php-common.x86_64 : Common files for PHP
rh-php70-php-dba.x86_64 : A database abstraction layer module for PHP
                        : applications
rh-php70-php-dbg.x86_64 : The interactive PHP debugger
rh-php70-php-devel.x86_64 : Files needed for building PHP extensions
rh-php70-php-embedded.x86_64 : PHP library for embedding in applications
rh-php70-php-enchant.x86_64 : Enchant spelling extension for PHP applications
rh-php70-php-fpm.x86_64 : PHP FastCGI Process Manager
rh-php70-php-gd.x86_64 : A module for PHP applications for using the gd graphics
                       : library
rh-php70-php-gmp.x86_64 : A module for PHP applications for using the GNU MP
                        : library
rh-php70-php-intl.x86_64 : Internationalization extension for PHP applications
rh-php70-php-json.x86_64 : JavaScript Object Notation extension for PHP
rh-php70-php-ldap.x86_64 : A module for PHP applications that use LDAP
rh-php70-php-mbstring.x86_64 : A module for PHP applications which need
                             : multi-byte string handling
rh-php70-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL
                            : databases
rh-php70-php-odbc.x86_64 : A module for PHP applications that use ODBC databases
rh-php70-php-opcache.x86_64 : The Zend OPcache
rh-php70-php-pdo.x86_64 : A database access abstraction module for PHP
                        : applications
rh-php70-php-pear.noarch : PHP Extension and Application Repository framework
rh-php70-php-pgsql.x86_64 : A PostgreSQL database module for PHP
rh-php70-php-process.x86_64 : Modules for PHP script using system process
                            : interfaces
rh-php70-php-pspell.x86_64 : A module for PHP applications for using pspell
                           : interfaces
rh-php70-php-recode.x86_64 : A module for PHP applications for using the recode
                           : library
rh-php70-php-snmp.x86_64 : A module for PHP applications that query SNMP-managed
                         : devices
rh-php70-php-soap.x86_64 : A module for PHP applications that use the SOAP
                         : protocol
rh-php70-php-xml.x86_64 : A module for PHP applications which use XML
rh-php70-php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC
                           : protocol
rh-php70-php-zip.x86_64 : ZIP archive management extension for PHP
rh-php71.x86_64 : Package that installs PHP 7.1
rh-php71-build.x86_64 : Package shipping basic build configuration
rh-php71-php.x86_64 : PHP scripting language for creating dynamic web sites
rh-php71-php-bcmath.x86_64 : A module for PHP applications for using the bcmath
                           : library
rh-php71-php-cli.x86_64 : Command-line interface for PHP
rh-php71-php-common.x86_64 : Common files for PHP
rh-php71-php-dba.x86_64 : A database abstraction layer module for PHP
                        : applications
rh-php71-php-dbg.x86_64 : The interactive PHP debugger
rh-php71-php-devel.x86_64 : Files needed for building PHP extensions
rh-php71-php-embedded.x86_64 : PHP library for embedding in applications
rh-php71-php-enchant.x86_64 : Enchant spelling extension for PHP applications
rh-php71-php-fpm.x86_64 : PHP FastCGI Process Manager
rh-php71-php-gd.x86_64 : A module for PHP applications for using the gd graphics
                       : library
rh-php71-php-gmp.x86_64 : A module for PHP applications for using the GNU MP
                        : library
rh-php71-php-intl.x86_64 : Internationalization extension for PHP applications
rh-php71-php-json.x86_64 : JavaScript Object Notation extension for PHP
rh-php71-php-ldap.x86_64 : A module for PHP applications that use LDAP
rh-php71-php-mbstring.x86_64 : A module for PHP applications which need
                             : multi-byte string handling
rh-php71-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL
                            : databases
rh-php71-php-odbc.x86_64 : A module for PHP applications that use ODBC databases
rh-php71-php-opcache.x86_64 : The Zend OPcache
rh-php71-php-pdo.x86_64 : A database access abstraction module for PHP
                        : applications
rh-php71-php-pear.noarch : PHP Extension and Application Repository framework
rh-php71-php-pecl-apcu.x86_64 : APC User Cache
rh-php71-php-pecl-apcu-devel.x86_64 : APCu developer files (header)
rh-php71-php-pgsql.x86_64 : A PostgreSQL database module for PHP
rh-php71-php-process.x86_64 : Modules for PHP script using system process
                            : interfaces
rh-php71-php-pspell.x86_64 : A module for PHP applications for using pspell
                           : interfaces
rh-php71-php-recode.x86_64 : A module for PHP applications for using the recode
                           : library
rh-php71-php-snmp.x86_64 : A module for PHP applications that query SNMP-managed
                         : devices
rh-php71-php-soap.x86_64 : A module for PHP applications that use the SOAP
                         : protocol
rh-php71-php-xml.x86_64 : A module for PHP applications which use XML
rh-php71-php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC
                           : protocol
rh-php71-php-zip.x86_64 : ZIP archive management extension for PHP
rh-php72.x86_64 : Package that installs PHP 7.2
rh-php72-build.x86_64 : Package shipping basic build configuration
rh-php72-php.x86_64 : PHP scripting language for creating dynamic web sites
rh-php72-php-bcmath.x86_64 : A module for PHP applications for using the bcmath
                           : library
rh-php72-php-cli.x86_64 : Command-line interface for PHP
rh-php72-php-common.x86_64 : Common files for PHP
rh-php72-php-dba.x86_64 : A database abstraction layer module for PHP
                        : applications
rh-php72-php-dbg.x86_64 : The interactive PHP debugger
rh-php72-php-devel.x86_64 : Files needed for building PHP extensions
rh-php72-php-embedded.x86_64 : PHP library for embedding in applications
rh-php72-php-enchant.x86_64 : Enchant spelling extension for PHP applications
rh-php72-php-fpm.x86_64 : PHP FastCGI Process Manager
rh-php72-php-gd.x86_64 : A module for PHP applications for using the gd graphics
                       : library
rh-php72-php-gmp.x86_64 : A module for PHP applications for using the GNU MP
                        : library
rh-php72-php-intl.x86_64 : Internationalization extension for PHP applications
rh-php72-php-json.x86_64 : JavaScript Object Notation extension for PHP
rh-php72-php-ldap.x86_64 : A module for PHP applications that use LDAP
rh-php72-php-mbstring.x86_64 : A module for PHP applications which need
                             : multi-byte string handling
rh-php72-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL
                            : databases
rh-php72-php-odbc.x86_64 : A module for PHP applications that use ODBC databases
rh-php72-php-opcache.x86_64 : The Zend OPcache
rh-php72-php-pdo.x86_64 : A database access abstraction module for PHP
                        : applications
rh-php72-php-pear.noarch : PHP Extension and Application Repository framework
rh-php72-php-pecl-apcu.x86_64 : APC User Cache
rh-php72-php-pecl-apcu-devel.x86_64 : APCu developer files (header)
rh-php72-php-pgsql.x86_64 : A PostgreSQL database module for PHP
rh-php72-php-process.x86_64 : Modules for PHP script using system process
                            : interfaces
rh-php72-php-pspell.x86_64 : A module for PHP applications for using pspell
                           : interfaces
rh-php72-php-recode.x86_64 : A module for PHP applications for using the recode
                           : library
rh-php72-php-snmp.x86_64 : A module for PHP applications that query SNMP-managed
                         : devices
rh-php72-php-soap.x86_64 : A module for PHP applications that use the SOAP
                         : protocol
rh-php72-php-xml.x86_64 : A module for PHP applications which use XML
rh-php72-php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC
                           : protocol
rh-php72-php-zip.x86_64 : ZIP archive management extension for PHP

  Name and summary matches only, use "search all" for everything.
#

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください