php.iniファイルの作成と初期設定

PHP に関する設定を記述する php.ini ファイルはデフォルトでは作成されていません。用意されている雛形を使って新しく作成する必要があります。ここでは php.ini ファイルの作成方法、 php.ini ファイルに対して行っておく初期設定、および php.ini の設定内容を確認するための phpinfo 関数の使い方について解説します。

php.iniファイルをひな形から作成する

php.ini ファイルは最初から作成する必要はありません。用意されている雛形をコピーして作成し、後から必要な個所を変更して利用します。雛形となるファイルは PHP をインストールしたディレクトリに含まれている次の2つのファイルです。

php.ini-development
php.ini-production

php.iniファイルをひな形から作成する(1)

php.ini-production ファイルは実際の本番環境で使用する場合に適した雛形で、 php.ini-development ファイルは開発環境で使用する場合に適した雛形となっています。

今回は php.ini-development ファイルの方を使ってみます。最初から作り直したい時のために php.ini-development ファイルはそのまま残しておき、コピーしたものを使用するようにして下さい。 php.ini-development ファイルをコピーし、ファイル名を php.ini に変更してください。

php.iniファイルをひな形から作成する(2)

これで元となる php.ini ファイルが作成できました。

作成した php.ini ファイルはテキストファイルです。その為、既存のテキストエディタで開いたり編集したりすることができます。では実際にテキストエディタで開いて見ます。

php.iniファイルをひな形から作成する(3)

それでは作成した php.ini をベースとして必要な修正を加えていきます。

phpinfo関数による設定内容の確認

PHP の phpinfo 関数は PHP の設定内容を出力する関数です。 php.ini ファイルに変更を加えたあとで phpinfo 関数によって出力された値を確認すれば、変更した内容がきちんと反映されているのかどうかを確認することができます。

それでは phpinfo 関数を含む簡単な PHP スクリプトを記述したファイルを作成します。テキストエディタを開き下記の内容を記述して下さい。

<?php
phpinfo();
?>

phpinfo関数による設定内容の確認(1)

作成したファイルは phpinfo.php というファイル名で任意のディレクトリに保存してください。

コマンドプロンプトを起動し、先ほど phpinfo.php を保存したディレクトリに移動したあと、次のように実行してください。

php phpinfo.php > output.txt

phpinfo関数による設定内容の確認(2)

phpinfo.php をコマンドラインで実行し、その結果を output.txt に出力しています。同じディレクトリに output.txt が作成されているかと思います。では output.txt をテキストエディタで開いてみてください。

phpinfo関数による設定内容の確認(3)

php.ini で現在設定されている内容が出力されました。

読み込まれているphp.iniファイルを確認する

現在どの php.ini ファイルを読み込んでいるのかを確認するには Loaded Configuration File の値を確認して下さい。

読み込まれているphp.iniファイルを確認する(1)

現在 PHP で読み込まれている php.ini ファイルの場所は C:\pg\PHP\php.ini であることが確認できます。

拡張モジュールのディレクトリ設定(extension_dir)

ここからは php.ini ファイルに対する初期設定です。最初は拡張モジュールのディレクトリ設定についてです。

拡張モジュールのディレクトリの場所について php.ini では extension_dir という項目で設定しています。現在の設定は phpinfo 関数を使って確認してみると C:\php\ext になっています。

拡張モジュールのディレクトリ設定(1)

今回 PHP をインストールしたディレクトリがデフォルトの値と異なるため、実際のディレクトリは C:\pg\php\ext です。そこで php.ini を編集して設定を変更します。 php.ini ファイルを開き extension_dir で検索してください。次のような記述が見つかります。

; Directory in which the loadable extensions (modules) reside.
; https://php.net/extension-dir
;extension_dir = "./"
; On windows:
;extension_dir = "ext"

拡張モジュールのディレクトリ設定(1)

extension_dir の先頭に記述されている ";" を削除して次のように書き換えます。

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
;extension_dir = "./"
; On windows:
extension_dir = "C:/pg/php/ext"

拡張モジュールのディレクトリ設定(2)

php.ini ファイルを保存したあと、あらためて phpinfo.php をコマンドラインで実行し、結果を output.txt に出力します。新しいファイルをテキストエディタで開いてみると、変更した内容が反映されていることが確認できます。

拡張モジュールのディレクトリ設定(2)

日本語利用に関する設定(mbstring)

日本語などマルチバイト文字を使うには拡張モジュールの php_mbstring.dll を有効にする必要があります。

php.ini ファイルをテキストエディタで開き extension=mbstring で検索して下さい。

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

;extension=mbstring

日本語利用に関する設定(mbstring)(1)

現在はコメントとなっていますので拡張モジュールを有効にするには先頭の ";"を外してください。

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

extension=mbstring

日本語利用に関する設定(mbstring)(2)

これで php_mbstring.dll の有効化は完了です。 php.ini を保存しておいてください。

php.ini では mbstring に関する設定項目もいくつか用意されていますが、文字コードとして UTF-8 を使用するのであれば現在の PHP のバージョンでは特に設定する必要はありません。

なおデフォルトで使用する文字コードについては php.ini で default_charset で検索してください。

; PHP's default character set is set to UTF-8.
; https://php.net/default-charset
default_charset = "UTF-8"

日本語利用に関する設定(mbstring)(3)

default_charset の値として UTF-8 が設定されています。

タイムゾーンの設定(date.timezone)

タイムゾーンの設定を行います。最初に現在の設定を確認します。 phpinfo 関数の出力結果である output.txt で date.timezone の値を確認します。

タイムゾーンの設定(date.timezone)(1)

明示的に設定を行わない場合、 UTC(世界標準時)が使用されます。ログなどに記録される時間を日本時間にするには、タイムゾーンに Asia/Tokyo を設定します。

php.ini ファイルをテキストエディタで開き date.timezone で検索して下さい。

[Date]
; Defines the default timezone used by the date functions
; https://php.net/date.timezone
;date.timezone =

タイムゾーンの設定(date.timezone)(1)

現在はコメントとなっていますので先頭の ";"を外して次のように値を設定してください。

[Date]
; Defines the default timezone used by the date functions
; https://php.net/date.timezone
date.timezone = Asia/Tokyo

タイムゾーンの設定(date.timezone)(3)

php.ini を保存してください。これでタイムゾーンの設定は完了です。

-- --

php.ini ファイルの作成方法、 php.ini ファイルに対して行っておく初期設定、および php.ini の設定内容を確認するための phpinfo 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。