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ファイルの準備

Cloud9の場合、デフォルトで /etc/php.ini ファイルが用意されています。ターミナル上でファイルの中身を閲覧するには cat コマンドを使うと良いでしょう。

$ cat /etc/php.ini

php.ini ファイルの中身は1000行を超えるのでたくさんの結果が出力されるでしょう。

$ cat /etc/php.ini
... 省略
[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 =
...省略
; Local Variables:
; tab-width: 4
; End:

ここでは php.ini ファイルの一部分のみ抜粋しています。先頭が ; で始まっているものは設定項目を説明するコメントです。php.ini ファイルの中には [mbstring] のように設定項目の分類分けがあり、その中に設定項目として mbstring.language = Japanesembstring.internal_encoding = などが存在します。必要に応じてこれらの設定項目に具体的な値を設定していくことになります。

ここでは php.ini ファイルの編集は不要です。まずは Cloud9 上では php.ini ファイルは /etc フォルダに用意されていることを覚えておきましょう。

ターミナルで php --ini とオプションを付けて実行すると php.ini ファイルの配置場所を確認できます。

まとめ

  • php.ini ファイルはPHPの設定情報を管理する
  • Cloud9では /etc/php.ini ファイルが用意されている
  • php.ini ファイルを編集することで、エラーの出力レベル、マルチバイト文字列の設定、タイムゾーンの設定などPHPの様々な設定をカスタマイズできる