https://opentutorials.org/course/62/5110
설정이란
Configuration. PHP가 동작하는 기본적인 작동방법을 변경하는 것으로, php.ini 파일를 통해서 변경 사항을 반영할 수 있다. 설정을 변경 한 후에는 웹서버를 리로드(reload) 혹은 재시작(restart) 해야 한다.
에러설정
에러는 개발이나 오류를 파악하는데 중요한 수단이지만, 에러가 실서버 환경에서 그대로 노출되는 것은 바람직하지 못하다. 아래는 실서비스와 개발환경에서의 권장 설정 방법이다.
C:\BitNami\wampstack-5.4.20-0\php\php.ini
운영
1
2
3
4
|
display_errors = Off
display_startup_errors = Off
error_reporting = E_ALL
log_errors = On
|
개발
1
2
3
4
|
display_errors = On
display_startup_errors = On
error_reporting = -1
log_errors = On
|
위에서 보시는 것처럼
운영을 위한 configuration(서버 설정)과 개발을 위한 설정은 다른 것을 확인하실 수 있습니다.
개발 서버의 설정에서만 error를 표시하고 보고합니다.
그 이유는 운영 서버(클라이언트 측)에서 error가 발생하고 이 정보가 노출될 경우에는, 잠재적 해커가 이 정보를 악용할 수 있기 때문입니다.
따라서 php 설치시에 php.ini (php의 설정파일)은 php.ini-production(운영 서버 설정)과 같도록 dafault 로 되어있습니다.
개발을 위해서는 php.ini를 지우고 php.ini-development를 복사 붙여넣기 한 후,
복사본을 php.ini로 이름을 바꾸어
기존의 설정 파일을 개발 서버 설정으로 바꾸어버리면 됩니다.
(운영 서버 설정으로 다시 돌아가기 위해서는 정확히 반대로 하면 됩니다.)
php.ini 에서 설정을 바꾸기만 하면 적용이 되지 않습니다.
이처럼 Apache 서버를 Restart 시켜주어야 바꾼 설정이 적용됩니다. (php는 apache에 종속적이기 때문)
phpinfo.php 의 기존 함수를 주석하고, 똑같은 함수의 문법을 틀리게 한 후에 웹서버를 Reload 해주었습니다.
웹브라우저의 text처럼 error 내용을 보고해주고 있는 모습입니다.
php.ini를 개발 서버의 설정으로 바꾸어주었기 때문이겠죠?
또한 error를 log파일에 기록한 것도 있습니다.
C:\Bitnami\wampstack-8.1.8-0\apache2\logs 로 이동합니다.
일부러 똑같은 error를 수차례 반복 후 error.log를 살펴보면 error가 출력이 된 것을 볼 수 있습니다.
(아래줄로 갈수록 최신 error의 기록입니다.)
'서버 > PHP' 카테고리의 다른 글
[PHP][생활코딩] 서버측 언어를 사용하는 이유 / 숫자와 문자 / 변수 / 비교 (0) | 2022.07.25 |
---|---|
[PHP][생활코딩] 첫번째 PHP 에플리케이션 (0) | 2022.07.25 |
[PHP][생활코딩] 윈도우에 PHP 설치하기 (0) | 2022.07.21 |
PHP란 무엇인가? [생활코딩] (0) | 2022.07.20 |
[PHP - 생활코딩] 시작 (0) | 2022.07.20 |