CentOS 7には、かなり長い間正式にEOLであり、サポートされなくなったPHPバージョン5.4が付属しています。
PHP 7を使用することで、アプリケーションの読み込みが速くなり、システムリソースの消費量が少なくなります。
このチュートリアルでは、PHP7.0をインストールまたはアップグレードする方法について説明します。 CentOS 7システムの7.1、7.2、および7.3。 PHPをNginxおよびApacheと統合する方法も示します。
また、特定のPHP 7.xバージョンをインストールする前に、それがアプリケーションでサポートされていることを確認してください。
前提条件#
このチュートリアルを開始する前に、sudo権限を持つユーザーアカウントまたはrootユーザーでサーバーにログインしていることを確認してください。 rootではなくsudoユーザーとして管理コマンドを実行することをお勧めします。システムにsudoユーザーがいない場合は、次の手順に従ってsudoユーザーを作成できます。
Remiリポジトリの有効化#
PHP 7.xパッケージは、いくつかの異なるリポジトリで利用できます。 PHPを含むさまざまなソフトウェアパッケージの新しいバージョンを提供するRemiリポジトリを使用します。
RemiリポジトリはEPELリポジトリに依存しています。次のコマンドを実行して、EPELリポジトリとRemiリポジトリの両方を有効にします。
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Yumは、リポジトリのGPGキーをインポートするように求めるメッセージを表示する場合があります。 y
と入力します Enter
を押します 。
次のセクションでは、適切なRemiリポジトリを有効にしてPHP7.xをインストールする方法について説明します。システムにPHP5.4がすでにインストールされている場合yum
PHPパッケージを更新します。
CentOS7へのPHP7.3のインストール#
PHP 7.3は、PHPの最新の安定したリリースです。 WordPress、Drupal、Joomla、Laravelなどの最新のPHPフレームワークとアプリケーションは、PHP7.3を完全にサポートしています。
以下の手順を実行して、CentOS7にPHP7.3をインストールします。
-
PHP 7.3 Remiリポジトリを有効にすることから始めます:
sudo yum-config-manager --enable remi-php73
-
PHP 7.3といくつかの最も一般的なPHPモジュールをインストールします:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
-
PHPバージョンを出力する次のコマンドを入力して、PHPのインストールを確認します。
php -v
PHP 7.3.1 (cli) (built: Jan 8 2019 13:55:51) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.1, Copyright (c) 1999-2018, by Zend Technologies
CentOS7へのPHP7.2のインストール#
PHP 7.2は、PHP7.2と互換性のないMagento2などのアプリケーションをインストールする場合にのみ使用してください。
次の手順では、PHP 7.2CentOS7をインストールする方法について説明します。
-
まず、次のコマンドを実行して、PHP7.2Remiリポジトリを有効にします。
sudo yum-config-manager --enable remi-php72
-
リポジトリが有効になったら、PHP7.2といくつかの最も一般的なPHPモジュールをインストールします。
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
-
PHPのインストールを確認します:
php -v
PHP 7.2.9 (cli) (built: Aug 15 2018 09:19:33) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.9, Copyright (c) 1999-2018, by Zend Technologies
CentOS7へのPHP7.1のインストール#
以下の手順に従って、PHP7.1をインストールします。
-
次のように入力して、PHP7.1リポジトリを有効にします。
sudo yum-config-manager --enable remi-php71
-
PHP 7.1といくつかの最も一般的なPHPモジュールをインストールします:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql
-
インストールを確認するには、次のコマンドを実行してPHPバージョンを出力します。
php -v
PHP 7.1.21 (cli) (built: Aug 15 2018 17:56:55) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.1.21, Copyright (c) 1999-2018, by Zend Technologies
Apacheで動作するようにPHP7.xを設定する#
WebサーバーとしてApacheを使用している場合は、次のコマンドを使用してApacheサービスを再起動するだけで、準備は完了です。
sudo systemctl restart httpd
Nginxで動作するようにPHP7.xを構成する#
Apacheとは異なり、NginxにはPHPファイルの処理に対する組み込みのサポートがないため、PHPファイルを処理するPHPFPMなどの別のアプリケーションをインストールする必要があります。
PHP FPMパッケージをインストールするには、次のコマンドを実行します。
sudo yum install php-fpm
デフォルトでは、PHPFPMはユーザーapache
として実行されます ポート9000で。ユーザーをnginx
に変更します TCPソケットからUnixソケットに切り替えます。これを行うには、黄色で強調表示されている行を編集します:
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx
/var/lib/php
を確認してください ディレクトリには正しい所有権があります:
chown -R root:nginx /var/lib/php
変更を加えたら、PHPFPMサービスを有効にして開始します。
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
次に、Nginx仮想ホストディレクティブを編集し、次のロケーションブロックを追加して、NginxがPHPファイルを処理できるようにします。
server {
# . . . other code
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
新しい構成を有効にするには、Nginxサービスを再起動します。
sudo systemctl restart nginx