UNIXCentOSCGIプログラム PHP

PHP 7 のインストールと設定

更新日:2017年10月1日

PHP とは

PHP は PHP: Hypertext Preprocessorの略称で、サーバー上で動作するプログラム(CGI:コモン・ゲートウェイ・インターフェース)の1つです。
PC上で動作する JavaScript とは異なり、完全にサーバーの能力に依存するため、PCに負荷を掛けること無く動作させることが出来ます。
同種のプログラムにPerl,ASPがあります。PHP は、HTML の中にプログラムを挿入することが出来るように、柔軟なプログラムコードの記述が最大の特徴です。また、世界で最も使用されているデータベース、 MySQL とも親和性が高いことでも有名です。CMS アプリケーション Word Pressも PHP を使用して作られています。
これらの特徴により、Perl,ASP よりも後発にもかかわらず、開発者が爆発的に増えて、今日ではCGIといえばPHPを指すまでに成長しています。

PHP 7 インストール

libmycrypt

PHP インストール時に暗号・複合化するモジュール mcrypt を追加するため、ライブラリをあらかじめインストールしておきましょう。

# yum --enablerepo=epel install libmcrypt

PHPインストール

PHP 7 は2017年10月1日現在 CentOS 公式リポジトリで提供されていないので、epel パッケージをインストールしておかないとダウンロード出来ません。
まだインストールを済ませていない場合は、サイト内ページ「CentOS 7 インストール ページの環境整備」を確認してインストールしておきましょう。
インストールでは、mbstringモジュール、mysql使用、gd使用、mcrypt使用などのオプションを追加しています。

# yum --enablerepo=remi-php70 install -y \
php php-cli php-devel php-common php-mbstring \
php-mysql php-fpm php-gd php-mcrypt php-opcache \
php-pdo php-xml

PHP バージョン確認

インストールした PHP のバージョンを確認しましょう。

# php -v
PHP 7.0.24 (cli) (built: Sep 26 2017 17:51:46) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.24, Copyright (c) 1999-2017, by Zend Technologies

PHP 設定

設定ファイル編集

設定ファイル php.ini を編集しましょう。
php.ini は Apache や MySQL の設定ファイルと異なり「#」では無く、行頭の「;」がコメントです。

# vi /etc/php.ini
...
;PHPバージョン情報を応答ヘッダに挿入しません
expose_php = Off
...
;エラーログに記録する1行の長さを2048byteに変更します
log_errors_max_len = 2048
...
;エラーログの記録先を設定します
error_log = "/var/log/php_errors.log"
...
;タイムゾーンを日本にします(行頭のコメントも外しましょう)
date.timezone = "Asia/Tokyo"
...
;デフォルト言語を日本語にします(行頭のコメントも外しましょう)
mbstring.language = Japanese
...
;内部の文字エンコードを日本語にします(行頭のコメントも外しましょう)
mbstring.internal_encoding = UTF-8
...
;HTTPからの文字エンコード変換を行わないようにします(行頭のコメントも外しましょう)
mbstring.http_input = pass
...
;HTTPへの文字エンコード変換を行わないようにします(行頭のコメントも外しましょう)
mbstring.http_output = pass...

設定を Web サーバーに反映させるために再起動しましょう。

# systemctl restart httpd.service

設定情報を確認するための PHP ファイルを作成しましょう。
下記、info.php は2行のコードですが、動作している PHP の情報を全て出力します。

# vi /var/www/html/info.php
<?php
phpinfo();

作成した設定情報ページ(URL+info.php)にアクセスしましょう。

PHPのバージョン、Apacheのバージョン、MySQLの使用可不可とバージョン、インストール時に設定したモジュール、言語などを確認しましょう。

全ての情報が表示されているため、確認し終わった後は悪意のある第三者に見られる前にファイルを削除しておきましょう。

phpinfo