PHP の振る舞いの変更PHPオプションと情報
- phpinfo〔PHP情報表示〕
- get_magic_quotes_gpc〔magic_quotes_gpc の現在の設定を取得〕
- get_defined_constants〔定義済みの定数を取得〕
phpinfo
PHP情報表示
unknown
bool phpinfo ( [int $what] )
現在のPHPの状態に関する、以下のような様々な情報を出力します。
- PHPバージョン、パス、OSバージョン
- PHP環境
- サーバー環境とサーバー情報
- HTTPヘッダ情報
- 追加したモジュール
- ライセンス情報 ...etc...
オプションの第1引数what(定数やビット値)を指定すると、出力情報をカスタマイズできます。
定数名 | ビット値 | 説明 |
---|---|---|
INFO_GENERAL | 1 | configureオプション、php.iniのパス、インストールした日時、サーバー、OS情報など |
INFO_CREDITS | 2 | PHPのクレジット情報 |
INFO_CONFIGURATION | 4 | ローカルおよびマスタのカレントPHPディレクティブの値 |
INFO_MODULES | 8 | 使用可能なモジュールとそれぞれの設定 |
INFO_ENVIRONMENT | 16 | 環境変数(\_ENV)の情報 |
INFO_VARIABLES | 32 | EGPCS(\_ENV、\_GET、\_POST、\_COOKIE、\_SERVER)から定義済みの変数を全て表示 |
INFO_LICENSE | 64 | PHPのライセンス情報 |
INFO_ALL | -1 | 全ての情報を表示(デフォルト) |
<?
//すべての情報を表示(デフォルトは INFO_ALL )
phpinfo();
//環境変数に関する情報のみ表示
phpinfo(16); //ビット値で指定した場合
phpinfo(INFO_ENVIRONMENT); //定数で指定した場合
?>
get_magic_quotes_gpc
magic_quotes_gpc の現在の設定を取得
unknown
bool get_magic_quotes_gpc ( void )
php.iniのmagic_quotes_gpcの設定がOn(有効)の場合に1、Off(無効)の場合に0を返します。
<?
//magic_quotes_gpc の現在の設定を取得
echo get_magic_quotes_gpc(); // 0
$HTTP_POST_VARS['lastname']="O'reilly";
//magic_quotes_gpcが無効(Off)ならエスケープ処理を行う
if ( !get_magic_quotes_gpc() ) {
$lastname = addslashes($HTTP_POST_VARS['lastname']); // O\'reilly
} else {
$lastname = $HTTP_POST_VARS['lastname'];
}
// もしエスケープせず、O'reillyのままだと以下のSQL文を実行してもエラーになる。
// (シングルクウォートで囲まれた値の中にシングルクウォートをそのまま指定してはいけない為)
// そのため、どのようなデータであっても安全にデータベースに格納できるよう、
// データをエスケープ処理しておく必要がある。
$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
echo $sql;
// INSERT INTO lastnames (lastname) VALUES ('O\'reilly')
?>
get_defined_constants
定義済みの定数を取得
unknown
array get_defined_constants ( [mixed categorize] )
全ての定数の名前とその値を連想配列で返します。 返り値には、拡張モジュールにより作成された定数やユーザーがdefine()関数で定義した定数も含まれます。
<?
#定義済みの定数を表示
echo '<pre>';
print_r(get_defined_constants());
echo '</pre>';
/*
Array
(
[E_ERROR] => 1
[E_WARNING] => 2
[E_PARSE] => 4
[E_NOTICE] => 8
[E_CORE_ERROR] => 16
[E_CORE_WARNING] => 32
・・・ 以下省略 ・・・
);
*/
?>