* 오늘의 진도
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 |
댓글