PHP - BASIC - 1. Hello PHP! - 6. php.iniファイル
PHPにはのPHPプログラムの動作をカスタマイズするための設定ファイルが存在します。このPHPの設定ファイルを php.ini
ファイルと呼びます。 php
コマンドによってPHPプログラムが実行される際に php.ini
ファイルに記述されている設定項目が適用されるようになっています。
この php.ini
ファイルを編集することで、エラーの出力レベル、マルチバイト文字列の設定、タイムゾーンの設定などPHPの様々な設定をカスタマイズできるようになっています。またPHPの実行時に有効となっている設定情報は php -i
コマンドで確認できます。
$ php -i
phpinfo()
PHP Version => 7.3.11
...省略
mbstring
Multibyte Support => enabled
Multibyte string engine => libmbfl
HTTP input encoding translation => disabled
libmbfl version => 1.3.2
oniguruma version => 6.9.3
...省略
たとえば上記の実行結果を見れば、PHP上でマルチバイト文字列を扱うmbstring
モジュールの設定情報を確認できます。
php.iniファイルの準備
Macに標準でインストールされているPHPの場合、デフォルトでは php.ini
ファイルが作成されていません。その代わりに/etcディレクトリに php.ini.default
という名前で php.ini
ファイルの雛形が用意されているので、このファイルをコピーして php.ini
ファイルを作成します。
$ sudo cp /etc/php.ini.default /etc/php.ini
/etc
ディレクトリ以下を編集するには管理者権限が必要です。sudo
コマンドは管理者権限で実行するコマンドです。
Windowsの場合はインストール時に作成した php
フォルダの中に php.ini-development
のようなファイルが用意されているので、そのファイルをコピーして php.ini
ファイルを作成すると良いでしょう。
参考までに一般的な php.ini
ファイルは以下のようなファイルです。
[PHP]
;;;;;;;;;;;;;;;;;;;
; About php.ini ;
;;;;;;;;;;;;;;;;;;;
; PHP's initialization file, generally called php.ini, is responsible for
; configuring many of the aspects of PHP's behavior.
(...省略)
[mbstring]
; language for internal character representation.
; This affects mb_send_mail() and mbstring.detect_order.
; http://php.net/mbstring.language
mbstring.language = Japanese
; Use of this INI entry is deprecated, use global internal_encoding instead.
; internal/script encoding.
; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*)
; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
mbstring.internal_encoding = UTF-8
(...省略)
実際のファイルの行数は1000行を超えるのでここでは一部分のみ抜粋しています。先頭が ;
で始まっているものは設定項目を説明するコメントです。 [mbstring]
のように設定項目の分類分けがあり、 mbstring.language = Japanese
や mbstring.internal_encoding = UTF-8
の部分が具体的に設定項目に値を指定している部分になります。
まとめ
php.ini
ファイルはPHPの設定情報を管理する/etc/php.ini
など規定のフォルダに配置するphp.ini
ファイルを編集することで、エラーの出力レベル、マルチバイト文字列の設定、タイムゾーンの設定などPHPの様々な設定をカスタマイズできる