오늘은 소설입니다.
sun's longitude:239 54 53.55 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  
알파문서
자주 잊어먹거나, 메모해 둘 필요성이 있는 팁이나 문서, 기타 등등
[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
43 번 글: [PHP] 표준 에러(stderr)로 메시지를 보내는 방법
글쓴이: 산이 [홈페이지] 글쓴날: 2003년 07월 02일 05:35:13 수(새벽) 조회: 3978
[PHP] 표준 에러(stderr)로 메시지를 보내는 방법

reference :
http://www.php.net/manual/en/wrappers.php.php

가끔 PHP로 코딩하다 보면 어떤 메시지를 '표준에러'로
보내고자할 경우가
있습니다.

BASH 경우)
-표준출력 : echo 'string'
-표준입력 : read foo  또는 foo.sh < bar.txt 또는 파라메터 전달 $*,
$@, $1, $2, $3, ...
-표준에러 : echo 'string' >&2

예를들어,
콘솔이나 터미널에서는 표준출력이 아닌 표준에러로 보내고자
할 경우나
아파치 모듈로 구동되는 PHP 경우, 아파치 에러 로그로 어떤
메시지를
남기기를 원할 경우가 있을 겁니다.

방법은 다음과 같습니다(다른 방법도 있는 건지는
모르겠습니만)

## print to stderr such as error_log()
##
## arguments :
##      $error    string, error message
##
## return :
##      $return mixed, the number of bytes written, or FALSE on error
##
function _stderr($errstr)
{
  global $_SERVER;

  if($fp = @fopen('php://stderr','w'))
  {
	## add error_log format style
	##
	if($_SERVER[HTTP_USER_AGENT])
	{
		$head = '['.date('D M d H:i:s Y').'] [PHP-stderr] '.
			'[client '.$_SERVER[REMOTE_ADDR].'] ';
	}

	$return = @fwrite($fp,$head.$errstr."\n");
	fclose($fp);
  }

  return $return;
}

function stderr($errstr)
{
  return error_log($errstr,0);
}

## this alias
##
function stderror($errstr)
{
  return stderr($errstr);
}

사용법 :

1) 콘솔이나 터미널에서 쉘과 같은 방법으로 작업할 경우

_stderr('아이고 형님 뭔가 잘못되었네요...T.T');


확인방법 :

(표준 출력을 없애고 표준 에러만 출력하도록 함)
$ php -q foo.php >/dev/null
아이고 형님 뭔가 잘못되었네요...T.T

$

2) 아파치 모듈형태로 아파치 에러로그(error_log)에
 기록되고자 할 경우

_stderr('앗 DB 연결이 안되네요....T.T');


확인방법 :

$ tail /any/path/to/apache/logs/error_log
...
[Wed Jul 02 02:25:05 2003] [PHP-stderr] [client x.x.x.x] 앗 DB 연결이
안되네요....T.T

EOF

 
이전글 : [PHP] same variables $foo = $bar= 'foo';
다음글 : [PHP] type and converting  
 from 61.254.75.40
JS(Redhands)Board 0.4 +@

|글쓰기| |답장쓰기| |수정| |삭제|
|이전글| |다음글| |목록보기|
인쇄용 

apache lighttpd linuxchannel.net 
Copyright 1997-2024. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds