「Apacheインストール&起動編」にて構築したapacheのwebサーバー環境でPHPを使用できるようにします。
PHPのインストール
まずは、phpのインストールを行います。管理者権限に入って以下のコマンドでインストールを行います。
# yum install php php-mbstring
httpd.confの編集
「/etc/httpd/conf/httpd.conf」に以下の1行を追加します。
AddType application/x-httpd-php .php
追加場所はどこでも構いませんが、「AddType application/~」という設定がまとまって書かれている場所があるので、そのあたりに記載するのが良いと思います。
上記の修正が終われば、サービスの再起動で単純なphpの動作は実行できるようになります。
# service httpd restart
試しに、以下の1行を記入した「php_info.php」ファイルを作成し、ブラウザからアクセスしてください。(PHPの動作確認を行う際はおなじみですね)
<?php phpinfo(); ?>
ブラウザからアクセスすると以下のような画面が出力されるはずです。
※内容は伏せてあります。
php.iniの編集
変更が必要な個所のみ抜粋して記載します。
open_basedir = /var/www/html/ ・・・・・・ (1) expose_php = Off ・・・・・・ (2) default_charset = "UTF-8" ・・・・・・ (3) mbstring.language = Japanese ・・・・・・ (4) mbstring.internal_encoding = UTF-8 ・・・・・・ (5) mbstring.http_input = UTF-8 ・・・・・・ (6) mbstring.http_output = pass ・・・・・・ (7) mbstring.encoding_translation = On ・・・・・・ (8) mbstring.substitute_character = "?" ・・・・・・ (9)
(1) PHPのプログラムから開くことのできるディレクトリを設定します。ライブラリや使用状況によっては新たに追記する必要があります。
(2) HTTPのヘッダにPHPの情報を出力するかどうかの設定。不要なのでOffに変更します。
(3) デフォルトのキャラクタセットの変更です。「;default_charset = “iso-8859-1″」が設定されている場合は、セミコロンを削除して、”UTF-8″に変更します。
(4) 使用する言語の設定。先頭のセミコロンを削除します。
(5) 内部エンコーディングの文字コードをUTF-8として設定。先頭のセミコロンを削除して、”UTF-8″に書き換えます。
(6) 入力文字エンコーディングをUTF-8として設定。先頭のセミコロンを削除して、”UTF-8″に書き換えます。
(7) 出力文字エンコーディングを変換しない設定にする。先頭のセミコロンを削除して、”pass”に書き換えます。
(8) 入力されるHTTPクエリの内部文字エンコーディングへの変換を行うかどうか。先頭のセミコロンを削除して、”On”に書き換えます。
(9) 不明文字が見つかった場合の置き換え文字を”?”に設定。先頭のセミコロンを削除して、”?”に書き換えます。
(4) ~ (9) の設定はこちらを参照させていただきました。
どういう意図の設定かと言うと、以下に一部を引用させていただきます。
この設定の要点を箇条書きで説明します。
・ Webアプリケーションの入口から出口まですべてUTF-8で統一する
・ 入力時にUTF-8→UTF-8の変換をすることで、不正な文字エンコーディングを除去する
・ HTTPレスポンスの文字エンコーディングをUTF-8と明示する
サーバーの再起動
全てが完了した時点でhttpサーバーの再起動を行います。
再起動を行うことで設定が有効になります。
# service httpd restart
トラックバック & ピンバック