CentOS7でのPHP5.xからPHP7への移行
この記事では、PHP5.xをPHP7にアップグレードして更新する方法について学習します。PHP7は2015年にリリースされ、以前のバージョンのPHPと同等の速度が向上しています。
前提条件
CentOS7にPHP5.xがすでにインストールされており、mod_phpモジュールがApacheによって有効にされている必要があり、Sudo権限またはrootユーザーが必要であると仮定します。
PHP7リポジトリの有効化
PHP 7.xは公式リポジトリでは利用できないため、IUSコミュニティのプロジェクトリポジトリを使用する必要があります。
以下のコマンドを使用して、マシンにIUSリポジトリをダウンロードします
# curl 'https://setup.ius.io/' -o setup-ius.sh curl 'https://setup.ius.io/' -o setup-ius.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1913 100 1913 0 0 1554 0 0:00:01 0:00:01 --:--:-- 1555
以下のコマンドを使用して、IUSリポジトリをローカルマシンにインストールします
# bash setup-ius.sh bash setup-ius.sh detected CentOS 7 Loaded plugins: fastestmirror base | 3.6 kB epel/x86_64/metalink | 5.2 kB epel | 4.3 kB extras | 3. 4 kB 00:00:00 mysql56-community | 2.5 kB 00:00:00 updates | 3.4 kB 00:00:00 (1/3): updates/7/x86_64/primary_db | 5.7 MB 00:00:00 (2/3): epel/x86_64/updateinfo | 584 kB 00:00:02 (3/3): epel/x86_64/primary_db | 4.3 MB 00:00:03 Loading mirror speeds from cached hostfile * base: mirrors.nhanhoa.com * epel: kodeterbuka.beritagar.id * extras: mirrors.nhanhoa.com * updates: mirrors.nhanhoa.com Package epel-release-7-7.noarch already installed and latest version Nothing to do Loaded plugins: fastestmirror ius-release.rpm | 8.1 kB 00:00:00 Examining /var/tmp/yum-root-BRDs50/ius-release.rpm: ius-release-1.0-14.ius.centos7.noarch Marking /var/tmp/yum-root-BRDs50/ius-release.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package ius-release.noarch 0:1.0-14.ius.centos7 will be installed --> Finished Dependency Resolution Dependencies Resolved ========================================================================================================================= Package Arch Version Repository Size========================================================================================================================= Installing: ius-release noarch 1.0-14.ius.centos7 /ius-release 8. Transaction Summary ========================================================================================================================= Install 1 Package Total size: 8.5 k Installed size: 8.5 k Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : ius-release-1.0-14.ius.centos7.noarch 1/1 Verifying : ius-release-1.0-14.ius.centos7.noarch 1/1 Installed: ius-release.noarch 0:1.0-14.ius.centos7 Complete!
Apacheでのmod_phpモジュールのアップグレード
ここでは、Apachheモジュールmod_phpのシステムをアップグレードします。まず、以下のコマンドを使用して古いパッケージを削除します。
# yum remove php-cli mod_php php-common
以下のコマンドを使用して、IUSリポジトリを使用して新しいPHP7モジュールをインストールします。
# yum install php70-mysqlnd mod_php70u php70u-cli Loaded plugins: fastestmirror ius | 2.2 kB 00:00:00 ius/x86_64/primary_db | 173 kB 00:00:00 Loading mirror speeds from cached hostfile * base: mirrors.nhanhoa.com * epel: kodeterbuka.beritagar.id * extras: mirrors.nhanhoa.com * ius: hkg.mirror.rackspace.com * updates: mirrors.nhanhoa.com Resolving Dependencies --> Running transaction check ---> Package mod_php70u.x86_64 0:7.0.8-1.ius.centos7 will be installed --> Processing Dependency: php-common(x86-64) = 7.0.8-1.ius.centos7 for package: mod_php70u-7.0.8-1.ius.centos7.x86_64 ---> Package php70u-cli.x86_64 0:7.0.8-1.ius.centos7 will be installed ---> Package php70u-mysqlnd.x86_64 0:7.0.8-1.ius.centos7 will be installed --> Processing Dependency: php-pdo(x86-64) = 7.0.8-1.ius.centos7 for package: php70u-mysqlnd-7.0.8-1.ius.centos7.x86_64 --> Running transaction check ---> Package php70u-common.x86_64 0:7.0.8-1.ius.centos7 will be installed ---> Package php70u-pdo.x86_64 0:7.0.8-1.ius.centos7 will be installed --> Finished Dependency Resolution Dependencies Resolved ========================================================================================================================= Package Arch Version Repository Size ========================================================================================================================= Installing: mod_php70u x86_64 7.0.8-1.ius.centos7 ius 2.6 M php70u-cli x86_64 7.0.8-1.ius.centos7 ius 4.0 M php70u-mysqlnd x86_64 7.0.8-1.ius.centos7 ius 239 k Installing for dependencies: php70u-common x86_64 7.0.8-1.ius.centos7 ius 1.1 M php70u-pdo x86_64 7.0.8-1.ius.centos7 ius 126 k Transaction Summary ========================================================================================================================= Install 3 Packages (+2 Dependent packages) Total download size: 8.0 M Installed size: 30 M Is this ok [y/d/N]: y Downloading packages: (1/5): php70u-pdo-7.0.8-1.ius.centos7.x86_64.rpm | 126 kB 00:00:00 (2/5): mod_php70u-7.0.8-1.ius.centos7.x86_64.rpm | 2.6 MB 00:00:01 (3/5): php70u-common-7.0.8-1.ius.centos7.x86_64.rpm | 1.1 MB 00:00:01 (4/5): php70u-mysqlnd-7.0.8-1.ius.centos7.x86_64.rpm | 239 kB 00:00:01 (5/5): php70u-cli-7.0.8-1.ius.centos7.x86_64.rpm | 4.0 MB 00:00:03 ------------------------------------------------------------------------------------------------------------------------- Total 2.2 MB/s | 8.0 MB 00:00:03 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : php70u-common-7.0.8-1.ius.centos7.x86_64 1/5 Installing : php70u-pdo-7.0.8-1.ius.centos7.x86_64 2/5 Installing : php70u-mysqlnd-7.0.8-1.ius.centos7.x86_64 3/5 Installing : php70u-cli-7.0.8-1.ius.centos7.x86_64 4/5 Installing : mod_php70u-7.0.8-1.ius.centos7.x86_64 5/5 Verifying : php70u-cli-7.0.8-1.ius.centos7.x86_64 1/5 Verifying : php70u-common-7.0.8-1.ius.centos7.x86_64 2/5 Verifying : mod_php70u-7.0.8-1.ius.centos7.x86_64 3/5 Verifying : php70u-pdo-7.0.8-1.ius.centos7.x86_64 4/5 Verifying : php70u-mysqlnd-7.0.8-1.ius.centos7.x86_64 5/5 Installed: mod_php70u.x86_64 0:7.0.8-1.ius.centos7 php70u-cli.x86_64 0:7.0.8-1.ius.centos7 php70u-mysqlnd.x86_64 0:7.0.8-1.ius.centos7 Dependency Installed: php70u-common.x86_64 0:7.0.8-1.ius.centos7 php70u-pdo.x86_64 0:7.0.8-1.ius.centos7 Complete!
最後に、apacheを再起動し、apacheのステータスを確認します
# systemctl restart httpd
apacheサービスステータスの確認
# systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2016-07-21 10:24:44 EDT; 46s ago Docs: man:httpd(8) man:apachectl(8) Main PID: 3636 (httpd) Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec" CGroup: /system.slice/httpd.service ├─3636 /usr/sbin/httpd -DFOREGROUND ├─3637 /usr/sbin/httpd -DFOREGROUND ├─3638 /usr/sbin/httpd -DFOREGROUND ├─3639 /usr/sbin/httpd -DFOREGROUND ├─3640 /usr/sbin/httpd -DFOREGROUND └─3641 /usr/sbin/httpd -DFOREGROUND Jul 21 10:24:43 centos-linux-1.shared systemd[1]: Starting The Apache HTTP Server... Jul 21 10:24:44 centos-linux-1.shared systemd[1]: Started The Apache HTTP Server.
PHPバージョンのテスト
コマンドラインモードを使用してPHPのバージョンを確認できます。また、info.phpを作成して、PHPのバージョンを確認することもできます
# php -v PHP 7.0.8 (cli) (built: Jun 23 2016 11:34:57) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
以下のコードを使用してinfo.phpファイルを作成し、GUIモードで情報を確認します。
# /var/www/html/info.php <?php Phpinfo(); ?>
ファイルを作成したら、以下のURLでWebブラウザにアクセスします
https://IP_Address /info.php
上記の手順をセットアップして構成した後、Centos 7 / RHEL7でPHP5.xをPHP7に更新できるようになりました。現時点では、CentOS7の公式リポジトリはリリースされていません。 PHP7がサーバー上でアップグレードされたこともわかります。
-
PHPタグ
定義と使用法 PHPコードスクリプトは、拡張子が.phpのテキストファイルであり、Webサーバーに保存されます。サーバー上のPHPパーサーは、文字の特別なシーケンスを検索します <?php および 。これらは、PHPの開始タグと終了タグと呼ばれます。これら2つのステートメントは、パーサーによって解釈されます。これらのタグ内のPHPスクリプトはHTMLドキュメントに埋め込むことができるため、埋め込まれたコードはサーバー上で実行され、ドキュメントの残りの部分はクライアントブラウザのHTMLパーサーによって処理されます。 構文 <?php //one or more PHP statem
-
PHP pi()関数
定義と使用法 pi ()関数は数学定数Πの値を返します。 PHPで定義された事前定義された定数に等しいfloat値3.14159265359を返します--M_PI 構文 pi ( void ) : float パラメータ この関数はパラメータを必要としません 戻り値 PHP pi()関数は、数学定数Πを返し、事前定義された数学定数M-PIと同じです。 M_PIを使用する代わりに、数式でpi()関数を使用できます。 PHPバージョン この関数は、PHPバージョン4.x、PHP 5.x、およびPHP7.xで使用できます。 例 次の例では、円の面積の計算にpi()関数を使用しています。