ユーザ用ツール

サイト用ツール


php:tips

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
php:tips [2014/02/26 03:48] clownclownphp:tips [2025/02/16 13:53] (現在) – 外部編集 127.0.0.1
行 15: 行 15:
 </code> </code>
  
-  * message +  * message\\ ログに記録されるエラーメッセージ。
-ログに記録されるエラーメッセージ。+
  
   * message_type   * message_type
-    * 0 +    * 0\\ message は、オペレーティング・システム のシステムログのメカニズムまたはファイルのいずれかを使って PHP のシステム・ロガーに送られます。どちらが使われるかは、 設定ディレクティブ error_log の内容により決定されます。これはデフォルトのオプションです。 
-message は、オペレーティング・システム のシステムログのメカニズムまたはファイルのいずれかを使って PHP のシステム・ロガーに送られます。どちらが使われるかは、 設定ディレクティブ error_log の内容により決定されます。これはデフォルトのオプションです。 +    * 1\\ message は、destination パラメータで指定されたアドレスに、電子メール により送られます。このメッセージタイプの場合にのみ、 4 番目のパラメータである extra_headers が使われます。 
-    * 1 +    * 2\\ このオプションは存在しません。 
-message は、destination パラメータで指定されたアドレスに、電子メール により送られます。このメッセージタイプの場合にのみ、 4 番目のパラメータである extra_headers が使われます。 +    * 3\\ message は destination で指定されたファイルに追加されます。 明示的に指定しない限り、message の 最後には改行文字は追加されません。 
-    * 2 +    * 4\\ message は、直接 SAPI のログ出力ハンドラに送信されます。
-このオプションは存在しません。 +
-    * 3 +
-message は destination で指定されたファイルに追加されます。 明示的に指定しない限り、message の 最後には改行文字は追加されません。 +
-    * 4 +
-message は、直接 SAPI のログ出力ハンドラに送信されます。+
  
-  * destination +  * destination\\ メッセージの送信先。その設定は、上で説明している message_type パラメータの値によります。
-メッセージの送信先。その設定は、上で説明している message_type パラメータの値によります。+
  
-  * extra_headers +  * extra_headers\\ 追加のヘッダ。message_type パラメータが 1 に設定される場合に利用されます。 このメッセージタイプは、 mail() と同様に 内部関数を利用します。
-追加のヘッダ。message_type パラメータが 1 に設定される場合に利用されます。 このメッセージタイプは、 mail() と同様に 内部関数を利用します。+
  
 <code> <code>
行 61: 行 53:
 </code> </code>
  
-i.e.mysqlから条件に一致するレコードのnameカラムを取得。1次元配列に変換する。+e.g. mysqlから条件に一致するレコードのnameカラムを取得。1次元配列に変換する。
  
 test.php test.php
行 109: 行 101:
 スパム対策のフィルタをメインスクリプト実行前に仕掛けてスパムをはじく、とか スパム対策のフィルタをメインスクリプト実行前に仕掛けてスパムをはじく、とか
  
-i.e. php.iniの場合+e.g. php.iniの場合
 <code> <code>
 ; Automatically add files before PHP document. ; Automatically add files before PHP document.
行 120: 行 112:
 </code> </code>
  
-i.e. .htaccessの場合+e.g. .htaccessの場合
 <code> <code>
 php_value auto_prepend_file "/home/user/www/start_script.php" php_value auto_prepend_file "/home/user/www/start_script.php"
行 184: 行 176:
 </code> </code>
  
 +===== ファイルを読み込んで末尾から表示する =====
 +
 +<code>
 +<?php
 +$file = file('log.txt');
 +rsort($file);
 +foreach($file as $row){
 +    echo $row;
 +}
 +</code>
 +
 +file : http://php.net/manual/ja/function.file.php
 +rsort : http://php.net/manual/ja/function.rsort.php
 +
 +===== 標準出力制御(バッファリング) =====
 +
 +<code>
 +<?php
 + // ログの取得有無 '1,2,3,4,5,6,7,8,9,10
 + define("LOG_BIT", '0,
 + 0,0,0,0,0,0,0,0,0,1'
 + );
 +
 + // 処理タイプ
 + $byType = htmlspecialchars($_REQUEST['type']);
 +
 + // ログの取得有無
 + $LogBit = explode(',',LOG_BIT);
 +
 + // 処理タイプがLOG_BITの範囲内で、且つ「1」であれば処理する
 + if ( array_key_exists($byType,$LogBit) && $LogBit[$byType] == 1 ) {
 + // 出力制御開始
 + ob_start();
 +
 + // 標準出力(echoされるべき内容)取得
 + $result = ob_get_contents();
 +
 + // 出力制御終了
 + ob_end_clean();
 +
 + // ログ出力
 + ~処理内容、echoの内容などをDBなりファイルなりに出力する処理~
 +
 + // Output
 + echo $result;
 + }
 +</code>
 +
 +===== cliで環境変数セットしたい =====
 +
 +たとえば、メール受信時にPHPプログラムを実行しようとして、任意の環境変数を設定したい。
 +⇒コマンドラインで -d の引数で auto_prepend_file に環境変数を記述したファイルを指定する。
 +
 +/var/www/env.php
 +<code>
 +<?php
 +putenv("APP_ENV=production");
 +</code>
 +
 +/var/www/regist
 +<code>
 +"| /usr/bin/php -d auto_prepend_file=/var/www/env.php -f /var/www/regist.php >> /tmp/postfix 2>&1"
 +</code>
 +
 +/etc/aliases
 +<code>
 +~省略~
 +regist:         :include:/var/www/regist
 +</code>
 +
 +/etc/postfix/main.cf
 +<code>
 +# Allowed to run :include: method in /etc/aliases
 +allow_mail_to_commands = alias, forward, include
 +</code>
php/tips.1393386528.txt.gz · 最終更新: 2025/02/16 13:50 (外部編集)