コンテンツ
ini_setで設定できる内容
PHPのini_setで良く行う設定をまとめてみました。
php.iniや.htaccessと比べると設定できる項目は限られていますが、
「大元のphp.iniを触りたくない!」「.htaccessを使用できない!」といった場合もあるので、
そのような場合にぜひ活用して頂ければと思います。
date.timezone
【説明】
タイムゾーンの設定を行います。
【使い方】
ini_set("date.timezone", "Asia/Tokyo");
これで、タイムゾーンを日本に設定でき出来ます。
display_errors
【説明】
PHPエラーの表示・非表示を設定します。
「1(true)」を設定するとエラー表示、「0(false)」を設定するとエラー非表示になります。
【使い方】
ini_set("display_errors", 1);
error_reporting
【説明】
出力するPHPのエラーレベルを設定します。
【使い方】
全てのPHPエラーを出力する場合には、「E_ALL」を設定します。
ini_set("error_reporting", E_ALL);
設定できるエラーの種類は以下のページでまとめてくれています。
https://www.php.net/manual/ja/errorfunc.constants.php
【その他】
PHPのエラーレベルの設定は、以下のような書き方でも可能です。
例えば、全てのエラーを出力する場合
error_reporting(E_ALL);
「E_NOTICE」以外の全エラーを出力する場合
error_reporting(E_ALL & ~E_NOTICE);
とします。
memory_limit
【説明】
メモリの上限値を設定します。
上限設定を無くす場合(メモリを無制限にする場合)には「-1」を設定して下さい。
【使い方】
ini_set("memory_limit", "32M");
【注意点】
※「upload_max_file_size」と「post_max_size」はini_setでは設定できないので、注意して下さい。
log_errors
【説明】
エラーログを保存するかどうかの設定を行います。
保存する場合には「On」を、保存しな場合には「Off」を設定します。
【使い方】
ini_set("log_errors", "On");
error_log
【説明】
エラーログの保存先パスの設定を行います。
log_errorsとセットで使用することも多いです。
【使い方】
ini_set("log_errors", "On");
ini_set("error_log", "/log/error.log");
max_execution_time
【説明】
スクリプトが強制終了されるまでの最大時間の設定を行います。
時間は「秒単位」で設定します。
【使い方】
ini_set("max_execution_time", "60");
default_charset
【説明】
Content-Typeに設定するデフォルトの文字コードの設定を行います。
【使い方】
ini_set("default_charset", "UTF-8);
【注意点】
header()関数でContent-Typeを設定した場合には、そちらが優先されます。
mbstring.internal_encoding
【説明】
内部エンコーディングの設定を行います。
【使い方】
ini_set("mbstring.internal_encoding", "UTF-8");
mbstring.language
【説明】
mbstringで使用する言語を設定を行います。
【使い方】
ini_set("mbstring.language", "Japanese");
cookie_secure
【説明】
HTTPS通信時(SSL通信時)のみCookieの送信を可能に設定します。
【使い方】
ini_set("session.cookie_secure", 1);
session_start();
session.cookie_path
【説明】
Cookie(クッキー)を送信するパスの設定を行います。
【使い方】
ini_set("session.cookie_path", "/testdir/");
session_start();
cookie_httponly
【説明】
Javascriptからクッキーへアクセス出来ないように設定します。
【使い方】
ini_set("session.cookie_httponly", 1);
session_start();
その他
上記で説明した項目以外でも、時々ini_set()で設定を行うことがありますが、
めったにないです。
他にどのような項目の設定を行えるか確認したい場合には、
以下のページを参照して下さい。
https://www.php.net/manual/ja/ini.list.php
「PHP_INI_ALL」となっている項目が、ini_set()でも設定を行える項目になっています。
この記事へのコメントはありません。