ユーザ用ツール

サイト用ツール


php:tips

差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
php:tips [2014/02/26 04:20] clownclownphp:tips [2025/02/16 13:53] (現在) – 外部編集 127.0.0.1
行 190: 行 190:
 rsort : http://php.net/manual/ja/function.rsort.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.1393388425.txt.gz · 最終更新: 2025/02/16 13:50 (外部編集)