【PHP】php.iniの設定をコード中で変更する
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の処理終了時には元の値に戻ることに注意)。
あわせて読んでほしい!
コメント
まだコメントはありません。