スキップしてメイン コンテンツに移動

投稿

header()で飛ばされてもリファラは

例えば、 http://www.example.dom/a.html の <a href="./b.php">リンク</a> のリンクを踏んで、b.php へ飛んだとする。 b.php が <?php header("Location: ./c.php"); ?> で、c.php が <?php echo $_SERVER['HTTP_REFERER']; ?> だった場合、c.php で echo されるリファラは http://www.example.dom/a.html となる。

postfix キュー削除

キューに溜まったメールを表示する。 mailq キューに溜まったメールの配信・転送を停止する。 postsuper -h ALL キューに溜まったメールから、特定のメールアドレスが含まれるメールを抽出する。 mailq | grep hoge@example.com キューに溜まったメールを消す。 postsuper -d メッセージID 停止した配信・転送を再開する。 postsuper -r ALL 今日はこれで救われた。

httpdの監視

httpdの監視 top -b -d 1 -n 10 1>> /var/tmp/top_`date +\%Y\%m\%d`.log 2>> /var/tmp/top_`date +\%Y\%m\%d`.log apachectl fullstatus 1>> /var/tmp/httpd_status_`date +\%Y\%m\%d`.log 2>> /var/tmp/httpd_status_`date +\%Y\%m\%d`.log こいつらをcronへ登録。

PHPで非同期処理

こんな感じで開始時刻をミリ秒ではいて、5秒間待つだけの処理を test_mulitproc.php <?php list($microSec, $timeStamp) = explode(" ", microtime()); error_log(date('Y-m-d H:i:', $timeStamp) . (date('s', $timeStamp) + $microSec)); sleep(5); 同じくこんな感じで実行してみると test_multiexec.php <?php error_log('同期処理開始'); exec('php /var/www/test_multiproc.php 1> /dev/null 2>&1'); exec('php /var/www/test_multiproc.php 1> /dev/null 2>&1'); exec('php /var/www/test_multiproc.php 1> /dev/null 2>&1'); exec('php /var/www/test_multiproc.php 1> /dev/null 2>&1'); exec('php /var/www/test_multiproc.php 1> /dev/null 2>&1'); error_log('非同期処理開始'); exec('nohup php /var/www/test_multiproc.php > /dev/null &'); exec('nohup php /var/www/test_multiproc.php > /dev/null &'); exec('nohup php /var/www/test_multiproc.php > /dev/null &'); exec('nohup php /var/www/test_multipr...

MTAとMUAと配信と転送と中継

メールのおべんきょ。 MTA(Mail Tranfer Agent) メールを配信したり転送を行うプログラムのこと。メールサーバはこの機能を有している。 MUA(Mail User Agent) MTA機能を持たず、ユーザのフロントエンドとして、電子メールの表示や読み書き、そしてメールサーバへの送信やサーバの自分のメールボックスからのメールの受信に専念するプログラム。 配信(delivery) MTAが 自分の所のローカルユーザーのメールボックスへ メールを送る事を「配信」と言 う。 転送(transport) 送信先が自分の所のローカルユーザーでない場合、 他のメールサーバーへメールを送る必要がある。MTAが他の メールサーバーへメールを送る事を「転送」と言う。 中継(relay) MTAが、MUAや他のMTAからのメールを「転送」することを「中継」という。 とこんな感じかな。 転送と中継の説明がなってないような気がするが... ツッコミよろしくです。