Ubuntu14.04でPHP7にアップグレードする方法

前書き

2015 2010年12月3日にリリースされたPHP7は、以前のバージョンの言語と比較して大幅な速度の向上と、スカラー型ヒントなどの新機能を約束します。このガイドでは、PHP 5.x(任意のバージョン)を実行しているApacheまたはNginxWebサーバーをPHP7にすばやくアップグレードする方法について説明します。

**警告:**ほとんどの主要な言語バージョンと同様に、本番環境でPHP7に切り替える前にしばらく待つことをお勧めします。同時に、アプリケーションと新しいバージョンとの互換性をテストし、ベンチマークテストを実行し、新しい言語機能に慣れるための良い機会です。

アクティブユーザーでサービスまたはアプリケーションを実行している場合、最も安全な方法は、最初にステージング環境でこのプロセスをテストすることです。

準備 ##

sudoコマンドを使用できる非rootアカウントを持つUbuntu サーバーがセットアップされ、ファイアウォールがオンになっています。サーバーをお持ちでない方は[こちら](https://cloud.tencent.com/product/cvm?from=10680)から購入できますが、個人的には無料のTencent Cloud [Developer Lab](https://cloud.tencent.com/developer/labs/gallery?from=10680)を使用して実験し、[サーバーを購入]( https://cloud.tencent.com/product/cvm?from=10680)。

このガイドは、Ubuntu14.04コンピューターでPHP5.xを実行していることを前提としています。Apacheでは mod_phpを、NginxではPHP-FPMの両方を使用できます。また、root以外のユーザーの管理タスクに sudo権限が設定されていることも前提としています。

PHP7.0パッケージのPPAを追加

パーソナルパッケージアーカイブ(PPA)は、適切なリポジトリ[クイックスタート](https://launchpad.net/)でホストされます。 PPAを使用すると、サードパーティの開発者は、公式チャネルの外部でUbuntuのパッケージを作成および配布できます。これらは通常、ベータソフトウェア、変更されたビルド、および古いオペレーティングシステムへのバックポートの便利なソースです。

OndřejSurýはDebianPHPパッケージを維持し、[PPA](https://launchpad.net/~ondrej/+archive/ubuntu/php)[Ubuntu上のPHP 7.0](https://launchpad.net/~ondrej/+archive/ubuntu/php)を提供します。他のことをする前に、システムにログインして、OndřejのPPAをシステムのAptソースに追加してください。

sudo add-apt-repository ppa:ondrej/php

PPAの説明が表示され、続行するように求められます。 ** Enter **を押して続行します。

**注:**システムのロケールがUTF-8以外の言語に設定されている場合、作成者の名前の文字の処理が正しくないため、PPAの追加が失敗する可能性があります。回避策として、 language-pack-en-baseをインストールして、ロケールが確実に生成され、PPAを追加するときにシステム全体のロケール設定をオーバーライドできます。

sudo apt-get install -y language-pack-en-base
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php

PPAをインストールした後、ローカルパッケージキャッシュを更新して、その内容を含めます。

sudo apt-get update

PHP 7.0パッケージにアクセスできるようになったので、既存のPHPインストールを置き換えることができます。

**Apacheを使用して mod_php ** ##をアップグレードします

このセクションでは、ApacheをWebサーバーとして使用し、 mod_phpを使用してPHPコードを実行するシステムのアップグレードプロセスを紹介します。逆に、NginxとPHP-FPMを実行している場合は、次のセクションにスキップしてください。

まず、新しいパッケージをインストールします。これにより、削除される php5-mysqlを除くすべての重要なPHPパッケージがアップグレードされます。

sudo apt-get install php7.0

注: / etc / php5 /内の構成ファイルに多くの変更を加えた場合、それらのファイルは引き続き存在し、参照できます。 PHP7.0の構成ファイルが / etc / php / 7.0に存在するようになりました。

[MySQL](https://cloud.tencent.com/product/cdb?from=10680)を使用している場合は、更新されたPHPMySQLバインディングを必ず再追加してください。

sudo apt-get install php7.0-mysql

**Nginxを使用してPHP-FPM **をアップグレードします##

このセクションでは、NginxをWebサーバーとして使用し、PHP-FPMを使用してPHPコードを実行するシステムのアップグレードプロセスを紹介します。

まず、新しいPHP-FPMパッケージとその依存関係をインストールします。

sudo apt-get install php7.0-fpm

続行するように求められます。 ** Enter **を押してインストールを完了します。

MySQLを使用している場合は、必ずPHPMySQLバインディングを再インストールしてください。

sudo apt-get install php7.0-mysql

注: / etc / php5 /内の構成ファイルに大幅な変更を加えた場合、それらのファイルは引き続き存在し、参照できます。 PHP7.0の構成ファイルが / etc / php / 7.0に存在するようになりました。

新しいソケットパスを使用するようにNginxサイトを更新します

Nginxは[Unixドメインソケット](https://en.wikipedia.org/wiki/Unix_domain_socket)を使用してPHP-FPMと通信します。ソケットはファイルシステム上のパスにマップされます。PHP7のインストールでは、デフォルトで新しいパスが使用されます。

PHP 5 PHP 7
/var/run/php5-fpm.sock /var/run/php/php7.0-fpm.sock

nano(または選択したエディター)で defaultサイト構成ファイルを開きます。

sudo nano /etc/nginx/sites-enabled/default

構成が異なる場合があります。 location〜 \ .php $ {で始まるブロックと fastcgi_pass unix:/var/run/php5-fpm.sock;のような行を探します。 unix:/ var / run / php / php7.0-fpm.sockを使用するように変更します。

server {
 listen 80 default_server;
 listen [::]:80 default_server ipv6only=on;
​
 root /var/www/html;
 index index.php index.html index.htm;
​
 server_name server_domain_name_or_IP;
​
 location /{
  try_files $uri $uri/=404;}
​
 error_page 404/404.html;
 error_page 500502503504/50x.html;
 location =/50x.html {
  root /usr/share/nginx/html;}
​
 location ~ \.php$ {
  try_files $uri =404;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;}}

ファイルを終了して保存します。 nanoでは、** Ctrl-X を押して終了し、 y を押して確認し、 Enter **を押して上書きするファイル名を確認することでこれを行うことができます。

PHPをサポートする必要がある / etc / nginx / sites-enabled内の他の仮想サイトに対して、このプロセスを繰り返す必要があります。

これで、 nginxを再起動できます。

sudo service nginx restart

PHPをテストする

Webサーバーを構成し、新しいパッケージをインストールすると、PHPが稼働していることを確認できるはずです。まず、コマンドラインでインストールされているPHPのバージョンを確認します。

php -v
PHP 7.0.0-5+deb.sury.org~trusty+1(cli)( NTS )Copyright(c)1997-2015 The PHP Group
Zend Engine v3.0.0,Copyright(c)1998-2015 Zend Technologies
 with Zend OPcache v7.0.6-dev,Copyright(c)1999-2015, by Zend Technologies

Webサーバーのドキュメントルートディレクトリにテストファイルを作成することもできます。サーバーと構成に応じて、これは次のいずれかになります。

nanoを使用して、 info.phpのドキュメントルートディレクトリで呼び出される新しいファイルを開きます。デフォルトでは、Apacheでは次のようになります。

sudo nano /var/www/html/info.php

Nginxでは、次を使用できます。

sudo nano /usr/share/nginx/html/info.php

次のコードを貼り付けます。

<? php
phpinfo();?>

エディタを終了し、 info.phpを保存します。次に、ブラウザに次のアドレスをロードします。

http://server_domain_name_or_IP/info.php

PHP7のPHPバージョンと構成情報が表示されます。これを再確認したら、最も安全なのは info.phpを削除することです。

sudo rm /var/www/html/info.php

結論として ##

これでPHP7がインストールされました。こちらの[公式移行ガイド](https://secure.php.net/manual/en/migration70.php)を確認してください。

その他のUbuntuチュートリアルについては、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細を確認してください。


参照:「Ubuntu14.04でPHP7にアップグレードする方法」

Recommended Posts

Ubuntu14.04でPHP7にアップグレードする方法
Ubuntu20.04にアップグレードする方法
Ubuntu20.04にアップグレードする方法
Ubuntu14.04でPHP設定を変更する方法
Ubuntu 16.04LTSにアップグレードする方法
Ubuntu18.04ですべてのPythonライブラリをアップグレードする方法
Ubuntu20.04にRubyをインストールする方法
Ubuntu20.04にJavaをインストールする方法
Ubuntu20.04にVirtualBoxをインストールする方法
Ubuntu20.04にElasticsearchをインストールする方法
UbuntuにProtobuf3をインストールするための詳細なチュートリアル
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu16.04にNode.jsをインストールする方法
Ubuntu20.04にVagrantをインストールする方法
Ubuntu14.04にBacula-Webをインストールする方法
Ubuntu16.04にPostgreSQLをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu18.04にAnaconda3をインストールする方法
Ubuntu18.04にMemcachedをインストールする方法
Ubuntu16.04にJenkinsをインストールする方法
Ubuntu14.04にMemSQLをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu16.04にMongoDBをインストールする方法
Ubuntu14.04にMailpileをインストールする方法
Ubuntu16.04にPrestaShopをインストールする方法
Ubuntu20.04にSkypeをインストールする方法
Ubuntu20.04にJenkinsをインストールする方法
Ubuntu18.04にPython3.8をインストールする方法
Ubuntu18.04にKVMをインストールする方法
Ubuntu20.04にKVMをインストールする方法
ubuntu14.04にopencv3.0.0をインストールする方法
Ubuntu20.04にAnacondaをインストールする方法
Ubuntu16.04にPrometheusをインストールする方法
Ubuntu18.04にJenkinsをインストールする方法
Ubuntu14.04にDjangoをデプロイする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にRをインストールする方法
Ubuntu16.04にMoodleをインストールする方法
Ubuntu14.04にSolr5.2.1をインストールする方法
Ubuntu16.04にTeamviewerをインストールする方法
Ubuntu14.04でNginxを保護する方法
Ubuntu20.04にMariaDBをインストールする方法
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にMonoをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu20.04にZoomをインストールする方法
Ubuntuでソフトウェアをアンインストールする方法
Ubuntu16.04にNginxをインストールする方法
Ubuntu20.04にOpenCVをインストールする方法
Ubuntu20.04にSpotifyをインストールする方法
Ubuntu18.04にPostmanをインストールする方法
Ubuntu16.04にGo1.6をインストールする方法
Ubuntu18.04にGoをインストールする方法
Ubuntu14.04にMySQLをインストールする方法
CentOS8にPHPをインストールする方法
Ubuntu20.04にPostgreSQLをインストールする方法
Ubuntu18.04にVLCをインストールする方法
Ubuntu20.04にTeamViewerをインストールする方法
Ubuntu20.04にWebminをインストールする方法