본문 바로가기
PHP/생활코딩

5/29 생활코딩 * xdebug는 리눅스용이라 안봄 * * 뒷부분 안돼서 중단 *

by SKim입니다 2020. 5. 29.

* 오늘의 진도

 PHP

  디버깅 - log

 

22. 디버깅 - log

log: 프로그램/시스템의 상태를 기록하는 행위

 

로그를 찍어보는 가장 쉬운 방법은 var_dump(인자로 전달된 값을 화면에 출력해주는 함수)를 이용하는 것이다.

 

http://php.net/manual/en/function.var-dump.php

 

PHP: var_dump - Manual

Howdy!I am working on a pretty large project where I needed to dump a human readable form of whatever into the log files... and I thought var_export was too difficult to read. BigueNique at yahoo dot ca has a nice solution, although I needed to NOT modify

www.php.net

mixed: 숫자건 문자건 베어링(?)은 상관없이 다 들어올 수 있다.

 

예제1은 배열을 하나 정의했다.

이 배열 a의 첫 번째 원소는 1, 두 번째 원소는 2, 세 번째 원소는 다시 배열이 들어온다.

그리고 그 배열은 a, b, c라는 값을 각각 가진 원소이다.

 

우리가 프로그램을 실행하다 보면,

현재 이 프로그램이 어떤 분기문을 타고 작동하고 있는지, 이렇게 화면을 출력하고 있는지,

어떤 로직의 흐름으로 가고 있는지

이런 것들을 판단하기 어려울 수 있다.

 

그런 경우에 var_dump나 print_r과 같은 명령어를 이용해서

어떠한 부분들이 실행되고 있는지를 체크하면

문제를 쉽게 해결할 수 있는 경우가 있다.

 

1이 출력되었으므로 이 로직이 if문을 지나가고 있고, else는 무시하고 있다는 것을 알 수 있다.

 

2가 출력되었으므로 이 로직이 else문을 지나가고 있다는 것을 알 수 있다.

 

 

 

 

이제 진짜 로그에 대해서 알아보자.

로그 파일에는 크게 두 가지가 있다.

1) 엑세스 로그 - 사용자가 어떤 리소스(html, 이미지 파일, JS, CSS 파일 등)에 접속했을 경우.

  그 접속된 상태를 파일에 기록하는데, 그 기록된 파일을 엑세스 로그라고 한다.

 

2) 에러 로그 - 어떤 php 파일이 실행이 되거나, 어떤 리소스 파일이 호출됐을 때,

  그것이 에러가 있을 경우에 에러 로그가 표시된다.

  ex) php 문법 오류, 존재하지 않는 이미지 파일 등

 

위 그림에서 보듯이 bitnami는

/opt/bitnami/apache2/logs/access_log와

/opt/bitnami/apache2/logs/error_log에

로그 파일이 위치하고 있다.

 

만약 웹호스팅 환경을 사용하고 있다면

권한이 제한되기 때문에 로그에 접근하기 어려울 수 있다.

(관리자 권한 필요)

 

먼저 쉘 접속을 해야 한다.

putty 프로그램 이용

 

https://act-think.tistory.com/68

 

5/29(2) 생활코딩

* 오늘의 진도 개발도구 - 개발도구들 putty(SSH) SSH는 FTP나 HTTP와 마찬가지로 일종의 프로토콜이다. 원격의 컴퓨터를 안전하게 접속하기 위한 프로토콜이다. 이것을 이용해서 컴퓨터에 접속하게 ��

act-think.tistory.com

 

Host에 bitnami가 설치된 ip를 적어주면 된다.

open - yes

 

안 돼서 중단

 

.

'PHP > 생활코딩' 카테고리의 다른 글

5/29(3) 생활코딩  (0) 2020.05.29
5/29(2) 생활코딩  (0) 2020.05.29
5/28 생활코딩  (0) 2020.05.28
5/27(2) 생활코딩  (0) 2020.05.27
5/27 생활코딩  (0) 2020.05.27

댓글