- 追加された行はこの色です。
- 削除された行はこの色です。
&tag(PHP);
*目次 [#ab64efc2]
#contents
* PHP: Hypertext Preprocessor [#k50e5340]
*関連ページ [#g5f98af7]
-[[./基本]]
-[[./配列]]
-[[./正規表現]]
-[[./データベース]]
*参考情報 [#x8c97f06]
-[[PHP Simple HTML DOM Parser]]
https://www.php.net/
*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
- 日本PHPユーザー会 (Japan PHP User Group)
-- http://www.php.gr.jp/
※この方法だと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を再起動すると修正された。