PHPオプションと情報に関する関数
- 関数一覧
-
extension_loaded() /
get_cfg_var() /
get_defined_constants() /
get_extension_funcs() /
get_loaded_extensions() /
getlastmod() /
ini_get_all() /
ini_get() /
ini_set() /
phpinfo()
- 機能一覧
-
設定オプションについて /
PHPその他に関する情報を出力する /
設定オプションの値の取得/設定 /
実行中のファイルの最終更新時のタイムスタンプを得る /
ロードされたモジュールを調べる /
定義済みの定数を得る /
モジュールの関数名を得る
「PHPのインストール/PHPのインストールと設定」のページや「PHPのインストール/.htaccessファイルでの設定」のページで、「include_path
」の設定変更なんかをしましたが、・・・要するにこれが設定オプションです。
この設定オプションは、設定ファイル「php.ini」と「.htaccess」ファイル、「ini_set()」関数で変更が可能です。が、変更できないものもあります。
アクセスレベル
設定オプションは、設定ファイル「php.ini」と「.htaccess」ファイル、「ini_set()」関数の何れかで変更が可能ですが、設定ファイル「php.ini」でしか変更できなかったり、何ででも変更できるものがあります。この違いはアクセスレベルの違いです。以下の様に設定されています。
定数 | 値 | アクセスレベル |
PHP_INI_USER | 1 | スクリプト内の「ini_set()」関数 |
PHP_INI_PERDIR | 2 | 「.htaccess」ファイル |
PHP_INI_SYSTEM | 4 | 設定ファイル「php.ini」 |
PHP_INI_ALL | 7 | 上記全て |
「PHP_INI_PERDIR | PHP_INI_SYSTEM
」のように、「|
(バーティカルライン)」(ビット和演算子)によって複数設定されているものもあります。「PHP_INI_USER | PHP_INI_PERDIR | PHP_INI_SYSTEM
」と「PHP_INI_ALL
」は等価です(「1」+「2」+「4」=「7」なので)。
注:これらの定数は、スクリプト内で参照出来るものではありません(マニュアル上でのみ定義されているものです)。
「ini_get_all()」関数が返す配列の、キー「access
」の値(整数)がそのオプションのアクセスレベルを表しています。
PageTop
phpinfo()
関数
- bool phpinfo([int 範囲])
- PHPその他(サーバに関する事からCookie情報に関する事まで)に関する情報を出力します。
- 「範囲」には、次の8つの定数が指定出来、また「
|
(バーティカルライン)」(ビット和演算子)で複数連結して指定出来ます。
「INFO_GENERAL
」(PHPが動作するサーバの情報等)、
「INFO_CREDITS
」(クレジット情報)、
「INFO_CONFIGURATION
」(PHPの設定情報)、
「INFO_MODULES
」(ロードされたモジュール及び設定情報)、
「INFO_ENVIRONMENT
」(環境変数($_ENV))、
「INFO_VARIABLES
」(定義済みの変数:EGPCS($_ENV、$_GET、$_POST、$_COOKIE、$_SERVER))、
「INFO_LICENSE
」(ライセンスに関する情報)、
「INFO_ALL
」(上記全ての情報を出力する)
デフォルト値は「INFO_ALL
」です。
- 成功すれば「TRUE」を返します。
以下にサンプル。
<?php
//phpinfo();
phpinfo(INFO_CONFIGURATION | INFO_MODULES);
/*出力結果
省略(PHPの設定情報、ロードされたモジュール及び設定情報が出力されます)
*/
?>
PageTop
get_cfg_var()
関数
- mixed get_cfg_var(string ディレクティブ)
- PHPの設定ファイル「php.ini」で設定されたオプションの値を返します。失敗した場合は「FALSE」を返します。
- 「ディレクティブ」に「
cfg_file_path
」を指定し、設定ファイル「php.ini」が使用されている場合にその位置を返します。
ini_get()
関数
- string ini_get(string ディレクティブ)
- 指定した「ディレクティブ」の値を返します。エラー時には空文字列を返します。
- 真偽値を表す「On/Off」が設定されている場合は、それぞれ「"1"」と「""(空文字列)」が代わりに返されます。
ini_set()
関数
- mixed ini_set(string ディレクティブ, string 設定値)
- 指定した「ディレクティブ」に「設定値」をセットし、成功すれば変更前の値を、失敗すれば「FALSE」を返します。
- スクリプトが終了した時点で、設定値は元の値に戻ります。
以下にサンプル。
<?php
if(get_cfg_var("cfg_file_path") === false)
echo "設定ファイル「php.ini」は使用されていません。<hr />";
else
echo "[php.ini] ".get_cfg_var('cfg_file_path'), "<hr />";
echo ini_get('include_path'), "<br />";
echo get_cfg_var('include_path'), "<hr />";
echo 'To ".:/hodenasu"<br />From "',
ini_set('include_path', '.:/hodenasu'), '"<hr />';
echo ini_get('include_path'), "<br />";
echo get_cfg_var('include_path');
/*出力結果
[php.ini] C:\WINDOWS\php.ini
---------------------------------------------------------
.;c:\php\pear;c:\php\cli\pear;c:\html\_incs_
.;c:\php\pear;c:\php\cli\pear;c:\html\_incs_
---------------------------------------------------------
To ".:/hodenasu"
From ".;c:\php\pear;c:\php\cli\pear;c:\html\_incs_"
---------------------------------------------------------
.:/hodenasu
.;c:\php\pear;c:\php\cli\pear;c:\html\_incs_
*/
?>
PageTop
ini_get_all()
関数
- array ini_get_all([string 拡張子])
- 全ての設定オプションを配列で返します。
- 「拡張子」を指定すれば、それに関するもののみ返します。
以下にサンプル。
<pre>
<?php
# 「ini_set()」関数で設定可能なものを抽出する
foreach(ini_get_all() as $directive => $option_arr){
if($option_arr['access'] & 1)
$ini_arr[$directive] = $option_arr;
}
print_r($ini_arr);
echo '<hr />';
# "mysql"に関するもののみ出力
print_r(ini_get_all("mysql"));
/*出力結果
Array
(
[allow_url_fopen] => Array
(
[global_value] => 1
[local_value] => 1
[access] => 7
)
[arg_separator.output] => Array
(
[global_value] => &
[local_value] => &
[access] => 7
)
…
[include_path] => Array
(
[global_value] => .;c:\php\pear;c:\php\cli\pear;c:\html\_incs_
[local_value] => .;c:\php\pear;c:\php\cli\pear;c:\html\_incs_
[access] => 7
)
…
[zlib.output_handler] => Array
(
[global_value] =>
[local_value] =>
[access] => 7
)
)
---------------------------------------------------------
Array
(
[mysql.allow_persistent] => Array
(
[global_value] => 1
[local_value] => 1
[access] => 4
)
[mysql.connect_timeout] => Array
(
[global_value] => 60
[local_value] => 60
[access] => 4
)
…
[mysql.trace_mode] => Array
(
[global_value] =>
[local_value] =>
[access] => 7
)
)
*/
?>
</pre>
PageTop
getlastmod()
関数
- int getlastmod(void)
- 実行中のファイル(つまりこの関数を記述したファイル)の最終更新時のタイムスタンプを返します。エラー時は「FALSE」を返します。
以下にサンプル。
<?php
echo '最終更新日:', date('Y年m月d日 H時i分', getlastmod());
/*出力結果
最終更新日:2004年08月01日 17時53分
*/
?>
PageTop
get_loaded_extensions()
関数
- array get_loaded_extensions(void)
- ロードされたモジュールの名前を配列にして返します。
extension_loaded()
関数
- bool extension_loaded(string モジュール)
- 指定した「モジュール」がロードされているか否かを真偽値(TRUE/FALSE)で返します。
以下にサンプル。
<pre>
<?php
print_r(get_loaded_extensions());
echo '<hr />';
$loaded_arr["curl"] = extension_loaded("curl");
$loaded_arr["gd"] = extension_loaded("gd");
$loaded_arr["mysql"] = extension_loaded("mysql");
$loaded_arr["xml"] = extension_loaded("xml");
foreach($loaded_arr as $name => $load){
$str = $load ? 'ロードされました。' : 'ロードされていません。';
echo '['.$name.'] は'.$str.'<br />';
}
/*出力結果
Array
(
[0] => standard
…
[16] => gd
[17] => mbstring
[18] => pdf
[19] => pgsql
[20] => namazu
)
---------------------------------------------------------
[curl] はロードされていません。
[gd] はロードされました。
[mysql] はロードされました。
[xml] はロードされました。
*/
?>
</pre>
PageTop
get_defined_constants()
関数
- array get_defined_constants(void)
- 定義済みの定数を配列にして返します。配列のキーが定数名、要素が定数の値です。
以下にサンプル。
<pre>
<?php
define('HODENASU_PHP', 'ほでなすPHP');
print_r(get_defined_constants());
/*出力結果
Array
(
[E_ERROR] => 1
[E_WARNING] => 2
[E_PARSE] => 4
[E_NOTICE] => 8
[E_CORE_ERROR] => 16
[E_CORE_WARNING] => 32
[E_COMPILE_ERROR] => 64
[E_COMPILE_WARNING] => 128
[E_USER_ERROR] => 256
[E_USER_WARNING] => 512
[E_USER_NOTICE] => 1024
[E_ALL] => 2047
[TRUE] => 1
[FALSE] =>
[ZEND_THREAD_SAFE] => 1
[NULL] =>
…
[HODENASU_PHP] => ほでなすPHP
)
*/
?>
</pre>
PageTop
get_extension_funcs()
関数
- array get_extension_funcs(string モジュール)
- 指定した「モジュール」で定義されている関数の名前を配列にして返します。
以下にサンプル。
<pre>
<?php
foreach(get_loaded_extensions() as $module)
$module_funcs_arr[$module] = get_extension_funcs($module);
print_r($module_funcs_arr);
/*出力結果
Array
(
[standard] => Array
(
[0] => constant
[1] => bin2hex
[2] => sleep
[3] => usleep
[4] => time
…
[432] => output_reset_rewrite_vars
)
…
[mysql] => Array
(
[0] => mysql_connect
[1] => mysql_pconnect
[2] => mysql_close
[3] => mysql_select_db
…
[63] => mysql_table_name
)
…
[gd] => Array
(
[0] => gd_info
[1] => imagearc
[2] => imageellipse
…
[81] => imagecolormatch
)
…
)
*/
?>
</pre>
PageTop
作成日:2004年07月30日 最終更新日:2004年08月01日
【通常モード で表示】