본문 바로가기

개발/Linux & DevOps

PHP는 서버가 없어도 돌아가네? (닷홈, 000webhost, AWS)

스프링, 장고, Flask 등은 무조건 AWS 와 같이 리눅스 콘솔을 통해 세팅하는 서버가 있어야 한다.

하지만 PHP는 닷홈, 000webhost와 같이 FTP 통신만 가능한 서버에 파일을 옮겨놓기만 해도 돌아간다.

 

난 예전엔 이 점이 이해가 안됐다.

 

 

웹 구조는 흔히 클라이언트 - 서버 라고한다.

하지만 한 층 벗겨보면

클라이언트 - 웹서버 - WAS ( Web Application Server)

3 단계로 나뉜다.

 

웹서버는 모두가 아는 Apache의 역할이고,

WAS는 Tomcat의 역할이다.

 

PHP는 웹서버만 있으면 동작이 된다.

컴파일 필요없는 인터프리터 언어이다.

 

스프링을 보면 아파치 톰캣으로 포팅을 해줘야하는데, 이게 WAS의 역할이고,

이 과정에서 서버가 파일들을 받아서 컴파일을 해주고 세팅을 해줘야하지만,

PHP는 이런게 필요 없다. WAS가 없어도 동작하기 때문이다.

 

PHP는 오래된 만큼 시간이 지남에 따라 많은 문제점이 발견된다.

HTML 과 뒤죽박죽 섞여서 코드 분리가 안되고,

절차지향 기반이라 객체지향 코딩도 안되고,

타입규정이 느슨해서 오류나 보안에 취약하는 등 여러 문제가 있지만,

버전을 거듭하며 계속 개선되고 있다.

 

php 5.3 부터 본격적인 객체지향화가 시작됐고,

php 7이 현 시점은 지원 중단된 상태이고

php 8이 성능을 대폭 강화하며 재도약을 꿈꾸고 있다.

 

하지만 php의 부정적인 인식은 쉽게 탈피되지 못하고

계속 사용자는 줄고 있는 듯 하다.

버전이 올라가면서 명백하게 해결된 문제들도

사람들은 모르고 아직도 지적하고 있기도 하다.

 

현재 라라벨(Laravel) 이 나오면서 다시 PHP가 인기를 회복하고 있다.

개인적으로 php가 개떡처럼 말해도 찰떡처럼 알아듣는 매력이 있어서

개발을 처음 시작할 때부터 매우 정 들었었는데,

계속적인 발전을 통해 다시 웹시장의 큰 파이를 차지하는 언어가 됐으면 좋겠다.

 

반응형