サーバ固有のモジュールvertical-align(上下整列位置)
- apache_get_modules〔ロードされたApacheモジュールの一覧を取得する〕
- apache_get_version〔Apacheのバージョン番号を取得〕
- apache_lookup_uri〔リクエストの一部を指定したURIに対して行い、全ての情報を返す〕
- apache_note〔Apacheリクエスト記号(note)を取得/設定する〕
- apache_request_headers, getallheaders〔全てのHTTPリクエストヘッダを取得する〕
apache_get_modules
ロードされたApacheモジュールの一覧を取得する
unknown
ロードされたApacheモジュールのリストを取得します。 成功した場合にロードされたApacheモジュールの配列、失敗した場合にFALSEを返します。
chkVersion($chkversion) は、関数が使えるか調べるユーザー定義関数です。
<?
$chked=chkVersion("4.3.2");
if($chked==1){
$modules=apache_get_modules();
echo "ロードされたApacheのモジュール";
echo "<pre>"; print_r($modules); echo "</pre>\n";
}else{
echo "この関数は".$chked."ではサポートされていません。<br>\n";
}
/* 出力例
ロードされたApacheのモジュール
Array
(
[0] => core
[1] => mod_win32
[2] => mpm_winnt
[3] => http_core
[4] => mod_so
[5] => mod_access
[6] => mod_actions
[7] => mod_alias
[8] => mod_asis
[9] => mod_auth
[10] => mod_autoindex
[11] => mod_cgi
[12] => mod_dir
[13] => mod_env
[14] => mod_imap
[15] => mod_include
[16] => mod_isapi
[17] => mod_log_config
[18] => mod_mime
[19] => mod_negotiation
[20] => mod_setenvif
[21] => mod_userdir
[22] => sapi_apache2
)
*/
?>
apache_get_version
Apacheのバージョン番号を取得
unknown
インストールされているApacheのバージョン番号を取得します。 成功した場合にApache のバージョン番号を返し、失敗した場合にFALSEを返します。
chkVersion($chkversion) は、関数が使えるか調べるユーザー定義関数です。
<?
$chked=chkVersion("4.3.2");
if($chked==1){
$apachever=apache_get_version();
echo "Apacheのバージョンは、<span class='strong'>".$apachever."</span>です。<br>\n";
}else{
echo "この関数は".$chked."ではサポートされていません。<br>\n";
}
//出力例
//Apacheのバージョンは、Apache/2.0.54 (Win32) PHP/4.4.0です。
?>
apache_lookup_uri
リクエストの一部を指定したURIに対して行い、全ての情報を返す
unknown
URIにリクエストの一部を行い、指定したファイル名の全情報を取得します。 成功した場合にリクエストしたファイル(URI)に関する情報をオブジェクトとして返し、失敗した場合にFALSEを返します。
この関数は、PHPが「Apacheモジュール」としてインストールされている場合のみ使用可できます(CGI版×)。
<?
$url="index.php?var=value";
$info_ary=apache_lookup_uri($url);
if (file_exists($info->filename)) {
echo 'ファイルが見つかりませんでした<br>\n';
}else{
echo "<pre>"; print_r($info_ary); echo "</pre>\n";
}
/* 出力例
stdClass Object
(
[status] => 200
[the_request] => GET test/example.php HTTP/1.1
[method] => GET
[mtime] => 0
[clength] => 0
[chunked] => 0
[content_type] => application/x-httpd-php
[no_cache] => 0
[no_local_copy] => 1
[unparsed_uri] => /test/index.php?var=value
[uri] => /test/index.php
[filename] => C:/Program Files/Apache Group/Apache2/htdocs/test/index.php
[args] => var=value
[allowed] => 0
[sent_bodyct] => 0
[bytes_sent] => 0
[request_time] => 1153923679
)
*/
?>
apache_note
Apacheリクエスト記号(note)を取得/設定する
unknown
Apache専用の関数で、リクエストのnotesテーブルからApacheリクエスト記号(note)を取得したり、 逆に設定することができます。
引数が1つ(記号名のみ)の場合、現在の記号の値を返します。 引数が2つ(記号名とその値)の場合、記号の値を記号の名にセットし、記号の値を返します。 失敗した場合は、FALSEを返します。
このapache_note関数を使って、Apacheログに任意の値を書き込むスクリプトが紹介されています。 会員サイトの利用履歴などに活用できそうです。
apache_request_headers, getallheaders
全てのHTTPリクエストヘッダを取得する
unknown
array getallheaders ( void )
全HTTPヘッダ取得に成功した場合に全HTTPヘッダーの連想配列を返し、失敗した場合にFALSEを返します。
getallheaders()関数は、apache_request_headers()関数のエイリアスです。 PHP4.3.0より前のバージョンではgetallheaders()関数を使用し、PHP4.3.0以降はapache_request_headers()関数を使用します。
この関数は、PHPが「Apacheモジュール」としてインストールされている場合のみ使用可できます(CGI版×)。
chkVersion($chkversion) は、関数が使えるか調べるユーザー定義関数です。
<?
$chked=chkVersion("4.3.0");
if($chked==1){
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
echo "$header: $value<br>\n";
}
}else{
$headers = getallheaders();
foreach ($headers as $header => $value) {
echo "$header: $value<br>\n";
}
}
#出力例
#Host: localhost
#User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
#Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
#Accept-Language: ja,en-us;q=0.7,en;q=0.3
#Accept-Encoding: gzip,deflate
#Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7
#Keep-Alive: 300
#Connection: keep-alive
#Referer: http://localhost/test/index.php?t=php&p=114
?>