« XAMPP for Mac OS X 1.7.3 のインストール PHP

XAMPP for Mac OS X 1.7.3 の起動 PHP »

XAMPP for Mac OS X 1.7.3 の初期設定 PHP

XAMPPをインストールしただけでは日本語をうまく扱えないので、設定ファイルを変更しなければなりません。日本語対応の他にエラー表示等の設定についても変更していきます。

変更する設定ファイル

PHPの設定ファイル「php.ini」を編集します。
「アプリケーション」>「XAMPP」>「xamppfiles」>「etc」フォルダ内に「php.ini」ファイルがあるので、テキストエディタで開いて編集します。

設定ファイルのバックアップ

設定ファイルを編集するときは、設定ファイルのバックアップを必ずとってから行いましょう。設定ファイルが壊れるとXAMPPを起動することができなくなってしまいます。
「php.ini」をコピーしてファイル名の後に日付をいれておき(例:「php_20110507.ini」)、不具合が起きたらこのファイルを「php.ini」の名前に戻しましょう。

xamppmac03.jpg

設定ファイルの編集

エラー表示に関する設定変更

開発時は詳細なエラーを表示させてデバッグの手がかりにします。270行目の「error_reporting = E_ALL」に変更します。

error_reporting = E_ALL & ~E_NOTICE
error_reporting = E_ALL

公開時のエラー表示について

公開時にエラー内容が表示されると内部のパス情報等が第三者にわかってしまいます。これはセキュリティ上好ましくないので、開発時は277行目を「display_errors = On」に、公開時にはエラーが表示されないよう「display_errors = Off」に変更しましょう。

display_errors = On
display_errors = Off

HTTPヘッダに出力するデフォルト文字コードに関する設定変更

先頭の「;(セミコロン)」を削除して設定を有効にし使用する文字コードを指定します。「UTF-8」で開発する場合は400行目を「default_charset = "UTF-8"」に変更します。

;default_charset = "iso-8859-1"
default_charset = "UTF-8"

マルチバイト文字に関する設定変更

マルチバイト文字で使用する言語を指定します。1079行目の先頭にある「;(セミコロン)」を削除して設定を有効にし「mbstring.language = Japanese」に変更します。

;mbstring.language = Japanese
mbstring.language = Japanese

mbstring関数のデフォルト文字エンコードに関する設定変更

マルチバイト文字を扱うmbstring関数のデフォルト文字エンコードを指定します。1084行目の先頭にある「;(セミコロン)」を削除して設定を有効にし文字コードを指定します。「UTF-8」で開発する場合は「mbstring.internal_encoding = UTF-8」に変更します。

;mbstring.internal_encoding = EUC-JP
mbstring.internal_encoding = UTF-8

HTTP入力用文字エンコード検出に関する設定変更

HTTP入力用文字エンコードを自動検出させるか指定します。1087行目の先頭にある「;(セミコロン)」を削除して設定を有効にし「mbstring.http_input = pass」に変更します。

;mbstring.http_input = auto
mbstring.http_input = pass

HTTP出力用文字エンコード検出に関する設定変更

HTTP出力用文字エンコードを自動検出させるか指定します。1091行目の先頭にある「;(セミコロン)」を削除して設定を有効にし「mbstring.http_output = pass」に変更します。

;mbstring.http_output = SJIS
mbstring.http_output = pass

HTTP入力用文字エンコード自動変換に関する設定変更

HTTP入力用文字エンコードを自動変換させるか指定します。1098行目の先頭にある「;(セミコロン)」を削除して設定を有効にし「mbstring.encoding_translation = Off」に変更します。

;mbstring.encoding_translation = Off
mbstring.encoding_translation = Off

自動文字エンコードの検出に関する設定変更

PHP内で使用される文字列の文字エンコードの検出順を指定します。1102行目の先頭にある「;(セミコロン)」を削除して設定を有効にし文字コードを指定します。代表的な文字コードである「UTF-8」、「SJIS」、「EUC-JP」、「JIS」、「ASCII」等を指定しておくといいでしょう。

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

コード変換できない文字の設定

コード変換する際に、コードとして変換できない文字をどのように扱うかを指定します。1106行目の先頭にある「;(セミコロン)」を削除して設定を有効にしnoneと指定して出力しないようにします。

;mbstring.substitute_character = none;
mbstring.substitute_character = none;

関数のオーバーロード設定

シングルバイト対応の関数を mbstring 関数の対応する関数でオーバーロードするか設定します。1116行目の先頭にある「;(セミコロン)」を削除して設定を有効にし0と指定してオーバーロードしないようにします。

;mbstring.func_overload = 0
mbstring.func_overload = 0

タイムゾーンの設定

date()関数でエラーが出ないように1160行目の設定値を変更します。

date.timezone = 'UTC'
date.timezone = Asia/Tokyo

以上で、「php.ini」ファイルの設定は完了です。「Apache」を再起動し修正した設定を反映させます。

XAMPP for Mac OS X 1.7.3 インストール関連記事