PHP로 개발하면서 작성한 노트

PHP로 개발하면서 작성한 노트다.

기본

Type

error_log

message_type:

  • 0 : PHP 시스템 로거
  • 1 : 이메일
  • 3 : 파일
  • 4 : SAPI 로깅 핸들러에 직접 로깅

Array

Foreach

Cookie

환경변수 $_SERVER

자주 사용하는 함수

array_unique

배열에서 중복된 값을 제거

extract

배열의 키와 같은 이름의 변수로 만들어주는 함수.

preg_quote

정규식 문자를 escape한다.

파일

시간

microtime float 형으로 변경하기

포맷에 맞게 datetime 출력

디자인 패턴

싱글톤 패턴

설정이나 Logger, DB를 다루는 클래스를 만들 때 자주 사용한다.

사용 방법:

PDO

PDO 메뉴얼

Monolog (로그 라이브러리)

로그를 남기기 위해 기본적으로 Monolog를 다음과 같이 사용할 수 있다.

이번에는 Monolog로 전역에서 사용할 수 있는 Logger를 만들겠다. 메뉴얼에 따르면 Registry라는 싱글톤을 사용해서 어디에서든 호출할 수 있다.

지금까지 StreamHandler로 예제를 만들었는데, 다음과 같은 핸들러를 사용할 수 있다.

Formatter를 설정하지 않으면 기본적인 포맷으로 로그가 기록된다. 이것을 원하는 형식으로 지정하려면 Handler에 Formatter를 설정해야한다.

PHP 에러로그 확인하기

아파치는 다음과 같은 형태로 로그 파일이 생성된다.

쉘에서 실행할 때는 ini 파일에서 로그 파일의 위치를 알아낼 수 있다.

CLI

파라미터 받는 방법

$argv 메뉴얼 페이지

php.ini 설정

exec 함수에 사용할 커맨드 제한하기

특정 디렉토리에 있는 커맨드만 실행할 수 있게 제한할 수 있다.

특정 함수 호출 제한

보안에 위협이 될만한 함수를 제한할 수 있다.

기타 이슈

phar로 빌드할 때 에러 발생

phar 파일을 만들 때, 파일을 압축하는 부분에서 다음 에러가 발생했다.

open file descriptor의 수를 확인하고, 너무 작으면 올려준다.

위 커맨드는 일시적으로 적용하는 것이라서 설정을 유지하려면 다음과 같이 설정파일을 이용하거나 profile 파일에 추가해야한다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다