PHPの設定(CentOS 6)

PHPを利用するためPHPと関連ソフトウェアをインストールし、文字コードを指定するなどの初期設定を行います。

環境

CentOS 6.10
PHP 5.x.x
CentOS 7はこちら

1.PHPのインストール

PHPとPHP関連ソフトウェアをインストールします。
root権限で yum -y install php php-mbstring php-mysql と入力して、インストールしてください。
Complete!と表示されればインストール完了です。

[root@ ~]# yum -y install php php-mbstring php-mysql

2.PHPの初期設定(php.ini)

このままでもPHPを利用できるのですが、文字コードを指定するなどの場合には、初期設定を行います。
root権限で vi /etc/php.ini と入力して、php.iniの編集を開始します。

[root@ ~]# vi /etc/php.ini

まず、mbstringで使用されるデフォルト言語を日本語にするため、行頭の「;」を削除し、有効にします。

;mbstring.language = Japanese

(↓行頭の;を削除)

mbstring.language = Japanese

デフォルトの文字コードを指定します。

;mbstring.internal_encoding = EUC-JP

(↓行頭の;を削除、文字コードをEUC-JPからUTF-8に変更)

mbstring.internal_encoding = UTF-8

HTTP通信時のインプットとアウトプットの文字コード変換を指定をします。文字コードを自動変換されてしまうと動作不良が起きる場合があるため、変換しないように指定します。

;mbstring.http_input = auto

(↓行頭の;を削除、autoをpassに変更)

mbstring.http_input = pass
;mbstring.http_output = SJIS

(↓行頭の;を削除、SJISをpassに変更)

mbstring.http_output = pass

文字エンコーディング検出や内部文字エンコーディングへの変換を行う文字エンコーディングフィルタを無効にします。

;mbstring.encoding_translation = Off

(↓行頭の;を削除)

mbstring.encoding_translation = Off

文字コードの自動検出時の優先順位を指定します。また、autoでは優先順位が順不同のため、明示的に指定します。

;mbstring.detect_order = auto

(↓行頭の;を削除、autoを文字コードに変更)

mbstring.detect_order = UTF-8,EUC-JP,SJIS,JIS,ASCII

変換に失敗した場合や無効な文字の代わりに表示する文字を指定します。表示する必要がないのでnoneを指定します。

;mbstring.substitute_character = none;

(↓行頭の;を削除)

mbstring.substitute_character = none;

以上でphp.iniの編集は終了です。:wqを入力して設定を保存します。
service httpd restart でApacheを再起動して、設定内容を反映させます。

[root@ ~]# service httpd restart

以上でPHPの設定は完了です。