【PHP】php.iniの設定をコード中で変更する

公開日:
更新日:
カテゴリー: PHP

PHPでプログラミングを行っていると、実現させたい処理によっては「php.ini」の設定を変更しなければならない時があります。

「php.ini」の設定自体はとっても簡単なのですが、いちいちサーバーの管理画面にログインして変更するのは面倒ですし、そのプログラムの処理だけ変更させたい(他のPHPの処理に影響を与えたくない)ときもあります。

その場合、PHPのコード中で「php.ini」の設定を変更すればよいです。

ini_set関数

ini_set関数を使えば、PHPのコード中で「php.ini」の設定を変更できます。

string ini_set(string $varname, string $newvalue);

この関数は、第1引数に与えた設定オプションを、第2引数の値に設定します(PHPの処理が終了すると元の値へ戻される)。

なお、第1引数に与えられる設定オプションはこちらにまとめられています。

「php.ini」の設定を変更

PHPの最大実行時間は「php.ini」の「max_execution_time」でデフォルト「30(秒)」に設定されていますが、長時間の処理をPHPに行わせる場合、処理時間によっては強制終了されます。

これを避けるためには、ini_set関数を使って次のようにすればよいです。

<?php
//PHP最大処理時間の設定
ini_set('max_execution_time', 800);
?>

同様に、「date.timezone」を「Asia/Tokyo」にしたい場合は次のようにします。

<?php
//「date.timezone」の設定
ini_set('date.timezone', 'Asia/Tokyo');
?>

このようにini_set関数を使えば、PHPのコード中で「php.ini」の設定を変更できます。

なお、現在の「php.ini」の設定等を知りたい場合は、PHPの情報(バージョン・設定内容)を調べる方法にあるように、phpinfo関数を使えばよいです。

<?php
//PHP設定情報の参照(現在)
phpinfo();

//PHP最大処理時間の設定
ini_set('max_execution_time', 800);

//PHP設定情報の参照(変更後)
phpinfo();
?>

のようにすると、最初の「php.ini」の設定値がini_set関数によって変更されていることが確認できます(PHPの処理終了時には元の値に戻ることに注意)。

 

あわせて読んでほしい!

 

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント