設定オプション (php.ini)

設定を反映させるには、サーバを再起動する必要があります。

基本

php.iniファイルの保存場所

PHPの設定を行うphp.iniファイルは、たいていPHPのインストール フォルダにあります。もしファイルが見つからないならば、phpinfo()を実行し[Loaded Configuration File]の項目を確認します。

Apacheからの設定

php.iniは、Apacheの設定ファイルからでも設定できます。たとえば、

php_value ディレクティブ1 値1
php_value ディレクティブ2 値2
...

のように、複数の項目を続けて記述します。PHP: 設定を変更するには - Manual

書式

  説明
コメント ;に続くテキストは無視される
セクションマーカ [ ]の中のテキストは無視される
論理値
  • 真 … true、on、yes
  • 偽 … false、off、no、none
文字列 二重引用符 ( " ) で囲まれたテキスト
PHP: 設定ファイル - Manual

設定項目

ディレクティブ 説明
extension PHPの開始時にロードする拡張モジュール。
max_file_uploads 同時にアップロードできるファイルの最大数。
PHP: コア php.ini ディレクティブに関する説明 - Manual
エラー
ディレクティブ 説明
display_errors エラーをHTMLの一部として、画面に表示するかどうか。
log_errors エラーメッセージを、記録するかどうか
error_log エラーメッセージの保存場所
track_errors 直近のエラーメッセージを、$php_errormsg変数に代入するかどうか。
PHP: php.ini ディレクティブのリスト - Manual

auto_prepend_file

指定ファイルを、PHPファイルの前に自動で読み込むように指示できます。これは、すべてのPHPで共通の初期化をするのに有用です。auto_prepend_file - PHP: コア php.ini ディレクティブに関する説明 - Manual

auto_prepend_file /path/init.php

expose_php

PHPを使用していることを、そのバージョン番号を含めてHTTPヘッダでx-powered-by: PHP/5.3.7のように出力できます。expose_php - PHP: コア php.ini ディレクティブに関する説明 - Manual

これを無効にするにはOffを指定します。PHP: PHPの隠蔽 - Manual

expose_php = Off

実行時設定

マルチバイト文字列

ディレクティブ 説明
mbstring.language mbstringで使用される言語設定 (NLS) のデフォルト値。
mbstring.internal_encoding 内部文字エンコーディング (internal character encoding) のデフォルト値。
PHP: 実行時設定 - Manual

セッション (Sessions)

ディレクティブ 説明
session.save_path 保存ハンドラに渡される引数。ファイルハンドラを指定した場合には、ファイルが保存される場所のパス。
PHP: 実行時設定 - Manual

メール

ディレクティブ 説明
SMTP mail()関数でメールを送信するときに使用する、SMTPサーバのホスト名またはIPアドレス。
sendmail_from PHPから送信されるメールにおいて"From:"に使用するメールアドレス。
PHP: 実行時設定 - Manual

php.iniファイルの保存に失敗する場合

現在アクティブなユーザーにphp.iniファイルを変更する権限がない場合、php.iniを編集できません。その場合にはファイルのプロパティからアクセス許可を編集し、[変更]の項目を許可します。

実行時の設定と取得

分類 関数 説明
取得 ini_get_all すべての設定オプションを取得する
ini_get 設定オプションの値を取得する
設定 ini_set 設定オプションの値を設定する
復元 ini_restore 設定オプションの値を元に戻す

取得 (ini_get)

string ini_get ( string $varname )
PHP: ini_get - Manual

取得された値がnullのときには、空文字列が返されます。また存在しない設定オプションを指定したときには、FALSEが返されます。

設定 (ini_set)

string ini_set ( string $varname, string $newvalue )
PHP: ini_set - Manual

ini_setでは設定できないオプションもあります。設定の可否は、php.ini ディレクティブのリストの表の「変更可能」の項目で確認できます。この項目が、PHP_INI_USERまたはPHP_INI_ALLとなっていれば、int_setで設定できます。

設定内容の確認 (phpinfo)

phpinfo()を呼び出すことで、設定情報が整形されて出力されます。

bool phpinfo ([ int $what = INFO_ALL ] )
PHP: phpinfo - Manual

$whatで出力内容をカスタマイズできます。これを指定しない場合には、すべての情報が出力されます。

<?php
phpinfo();

PHPのマニュアルから検索