php

php는 c에서 출발한 언어로
background 에서 pointer가 동작을 하게 된다. 
현재 7.0 이 가장 최신버전으로 2015년에 나왔다. 
(초기에는 펄로 작성된 스크립트 였다고 함)

PHP (Hypertext Processor) 

동적 웹 페이지를 만들기 위해 설계됨. HTML 소스 문서 안에 넣으면 PHP 처리 기능이 있는 ‘웹 서버’에서 해당 코드를 인식하여 작성자가 원하는 웹페이지를 생성한다. 
HTML 과 PHP 문서를 분리하여 작성, PHP 를 웹서버가 아닌 php-fpm(php fastCGI Process Manager)를 통해 실행하는 경우가 늘어나고 있다. 

워드프레스, 미디어위키, 제로보도, 그누보드 가 PHP로 작성되었다. 

PHP와 상응하는 역할을 하는 다른 언어들 
: microsoft의 ASP.NET, 비주얼 베이직, 매크로미디어의 콜드퓨전, 썬 마이크로시스템즈의 JAVA, 오픈 커뮤니티의 Python, Perl , 루비  

division by zero

somthing / 0 과 같은 연산을 하게 되면? 

오류를 print 하게 설정하지 않는 이상 큰 문제없이 지나가는 경우도 있다. 
하지만, 이는 error 로 처리되기 때문에 ‘0으로 나누기’ 라는 연산에 대해서 error log를 기록하게 된다 . 즉, error 에 대해서 실행해야 항목이 존재하기 때문에 시간이 지연되는 것이다. 

solution - 조건문과 ini_ set 으로 에러잡기

if ( !ini_set( 'display_errors', '1' ) ) throw new \Exception( 'Unable to set display_errors.' );

division by zero 가 있는 부분을 먼저 조건문으로 제거해서 해당 error 가 발생하지 않게 해주고 
php의 함수 ini_set(‘display_errors’,’1′)을 활용하여 에러를 출력하도록 해준다. 

+만약 에러 로그를 모두 기록하는 서버라고 하면 제로 에러가 반복문에서 발생할 경우 에러로그가 도배가 되어 메모리도 잡아먹고 중요한 에러를 찾을 수 없게 되므로 주의. 

카테고리: PROGRAMMINGSTUDY

댓글 남기기