<?php
echo 'hello'+'world';
위의 스크립트를 실행하면 어떻게 될까?
일단 문법적으로 제대로 실행되긴 하지만 php문자열은 계산시 0이므로 위의 코드는 0+0이 된다.
일단 인터프리팅을 하면 결과는 실행되는데 Warning메시지가 뜬다.
경우에 따라서는 Notice가 뜰때도 있다.
그 이유는 문자열의 덧셈은 권장사항이 아니기 때문이다. 보통 이런식으로는 안쓴다.
그리고 이러한 루틴들에 warning이나 notice가 걸려있는 경우가 많다.
그러나 이러한것이 의도한 것이라면 저 메시지가 웹브라우저상에 뜨는건 문제가 있다.
만약 이를 확인하고 의도한 바라면 에러메시지가 뜨지 않게 하는 방법이 세가지가 있다.
<?php
echo @('hello'+'world');
한가지 방법은 @로 감싸는 것이다. 변수라면 감쌀필요는 없다.
그러면 에러메시지는 출력되지 않는다.
만약 저런것 없이 설정자체로 출력하고 싶지 않다면 php.ini파일을 수정해줘야한다.
또다른 방법은 php.ini를 error_reporting를 위와 같이 수정후 php인터프리터를 작동시키는 것이다.
이미 켜져있다면 끈후에 다시 키면된다.
error_reporting = E_ALL & ~(E_NOTICE | E_USER_NOTICE | E_WARNING | E_COMPILE_WARNING | E_CORE_WARNING | E_USER_WARNING) ;
이 방법은 에러메시지를 그냥 보고싶지 않다면 좋은 방법이지만 솔직히 권장하진 않는다.
위의 두가지 방법은 둘다 장단점이 있는데 필자생각에는 마지막 방법이 가장 좋은것 같다.
<?php
error_reporting(0);
echo 'hello'+'world';
error_reporting(0)를 호출해도 에러메시지가 작동하지 않는다.
따라서 보통의 경우 에러를 확인하는 모드로 작동시켜 둿다가 필요없어지는 순간에 저 코드를 추가하는 방식으로 사용한다.
'Usage > PHP' 카테고리의 다른 글
[CodeIgniter]CodeIgniter설치하기 (0) | 2018.01.02 |
---|---|
[APM]PHP사용하기 - mac에서 apm사용하기(5) (0) | 2017.11.29 |
[APM]PHP사용하기 - 서버에 php파일 업로드하기(4) (0) | 2017.11.29 |
[APM]PHP사용하기 - mysql설치(3) (0) | 2017.11.28 |
[APM]PHP사용하기 - php설치(2) (0) | 2017.11.28 |