#author("2020-10-26T02:42:49+00:00","default:src128","src128")
&tag(PHP);
*目次 [#ab64efc2]
#contents

*関連ページ [#g5f98af7]
-[[./基本]]
-[[./配列]]
-[[./正規表現]]
-[[./データベース]]
-[[./CSV]]
-[[./MySQL]]

*参考情報 [#x8c97f06]
-[[PHP Simple HTML DOM Parser]]

*Tips [#f239ea95]
**Apacheのログに出力する [#d4988c58]
-[[apacheのログに好きな情報を出す方法(PHP編):http://neta.ywcafe.net/000607.html]]
-PHPスクリプト側
#pre{{
<?php
$val = "hogehoge";
apache_note("originallog", $val);
?>
}}
-httpd.confの変更
 LogFormat "%h %l %u %t \"%r\" %>s %b %{originallog}n" common
-出力結果
 192.168.212.51 - - [20/Jul/2005:21:39:03 +0900] "GET /index.php HTTP/1.1" 200 735 hogehoge


※この方法だと1リクエストにつき最後にapache_noteで出力する文字列しかでないのかな?


**issetがめんどくさい [#macf3439]
-[[初期化されてない変数に対してissetめんどくせ - Unknown::Programming:http://d.hatena.ne.jp/fbis/20060719/1153274874]]にあるように配列や連想配列を参照するときに未定義の値にアクセスすると警告が表示されてしまう。他はルーズなのにここだけはやたら厳しいのに違和感。
-真偽の判定ならばempty()がつかえるらしいが、値を取得したい場合は次のようなfunctionを定義するのが良いか?
#pre{{
function get_or_default(&$data, $default = null) { return isset($data) ? $data : $default; }

if (get_or_default($data[0], false)) { }

}}

*トラブルシューティング [#q167b04e]
**Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution [#l9f02fa7]
-なぜかApacheを再起動すると修正された。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS