PHP는 LAMP 스택이라고 해서, Linux , Apache , MySQL , PHP 스택으로 개발을 하게 됩니다.

LAMP 스택의 OS는 Linux인데, 제대로 PHP 개발을 하려면 Linux를 사용해서 IDE 툴에 마운트하여 사용할 수도 있습니다.

LAMP 스택을 Windows 환경에서 구축하고 싶다면 Bitnami, xampp를 고려해볼 수 있습니다. ( WAMP 스택 )

이 글은 Bitnami를 통해 LAMP 스택을 구축하는 방법에 대해 알아봅니다.




1. Bitnami wamp stack 설치

링크를 클릭하여 bitnami 홈페이지에 접속합니다. 

이 사이트에서 bitnami-wampstack을 설치합니다.



다운로드를 하고 설치파일을 실행 한 후에 next를 누르다보면 " Install folder "가 나오는데, 이 경로를 잘 기억해야 합니다.

기본적으로 c드라이브의 Bitnami 폴더입니다. ( C:\Bitnami\wampstack-7.1.21-0 )


그리고 비밀번호를 설정하고, 그대로 확인을 눌러서 wampstack을 실행하면 아래의 창을 볼 수 있습니다.



보시는 것은 bitnami manager이며, Manage Servers 탭을 클릭하면, 웹 서버, mysql 등의 실행을 관리할 수 있습니다.





2. wampstack 폴더 


bitnami를 설치할 때 지정해줬던 경로를 들어가면 위와 같은 폴더들을 볼 수 있습니다.

보시는 바와 같이 Apache , MySQL , PHP 등이 있으며, 방금 전에 보았던 manager를 실행하는 파일이 있습니다.


웹 브라우저가 bitnami를 통해 설치한 웹 서버(apache)에 요청을 보내면 웹 서버는 apache2/htdocs 폴더에서 웹 페이지를 찾게 됩니다.


우선 테스트를 위해 이 폴더의 내용을 모두 삭제하겠습니다.





3. 테스트

이제 설치가 잘 되었는지 확인하기 위해 에디터를 실행하겠습니다.

설치 경로를 변경하지 않았다면, C:\Bitnami\wampstack-7.1.15-0\apache2\htdocs 이 경로에서 project 폴더를 만들면 됩니다.

그리고 test.php 파일을 만들어서 php가 잘 설치되었는지 확인하는 코드를 작성하겠습니다.

<?php
phpinfo();
?>


브라우저에서 http://localhost/project/test.php URL을 요청하면, 위와 같은 결과를 얻을 수 있습니다.





4. HTML과 PHP 응답 과정 비교

만약에 클라이언트가 example.html 페이지를 요청하면 , 웹 서버( Apache )는 요청를 받아서 웹서버 자신이 직접 처리 합니다.

html은 정적 파일이기 때문에, 자신이 직접 처리할 수 있기 때문입니다.


example.php 페이지를 요청하면 웹 서버는 자신이 처리하지 않고, php 프로그램에게 처리를 위임합니다.

즉, 요청이 오면 웹 서버는 웹 페이지 파일이 존재하는 htdocs 폴더에 example.php 파일을 확인하고,

php 파일을 열어서 php코드( <?php  ?>)를 해석한 후, html 문서를 재생산합니다.

재생산된 html 문서를 웹 서버에 전달하면, 웹 서버는 이를 브라우저에게 응답하는 흐름을 갖습니다.





5. 환경 설정

C:\Bitnami\wampstack-7.1.15-0\php 폴더에 들어가서 php.ini 파일을 우클릭 -> "편집"을 클릭합니다.

php.ini 파일은 php 설정 파일입니다.


다음은 개발 편의성을 위해 간단한 설정을 바꾼 것이며, 그 밖에 php.ini 파일에 대한 자세한 설정은 여기를 참고해주세요.



1) display_errors

찾기( ctrl + f ) 버튼을 눌러서, "display_errors" 를 검색하겠습니다.

그리고 다음 찾기를 한번 더 누르면 아래와 같은 내용이 나올 것입니다.



display_errors = off는 에러 내용을 화면에 출력해주는 것을 off 시키겠다는 의미인데, 이것을 On으로 바꿔주겠습니다.

On으로 바꾸면, 에러가 발생했을 시 에러 내용을 화면에서 볼 수 있기 때문에 개발을 편리하게 할 수 있습니다.


그런데 왜 기본 값으로 off가 되어 있을까요?

그 이유는 에러 메시지를 개발자가 아닌 일반 사용자도 볼 수 있기 때문인데, 자세한 에러 내용을 사용자에게 보여주는 것은 웹 애플리케이션 공격자에게 좋은 단서가 되기 때문입니다.

개발 단계에서는 에러 메시지가 없으면 불편하므로 On을 한 것입니다.




2) opcache.enable
이번에는 "opcache"를 검색해주세요.


opcache.enable=0으로 바꿔서 opcache를 끄도록 하겠습니다.

즉, 0으로 설정하면 캐시를 사용하지 않겠다는 뜻입니다.

opcache이 켜져 있으면, php 수정 내용이 바로 반영이 되지 않고, 30초 정도 뒤에야 반영이 되기 때문에 개발을 할 때는 끄는 것이 좋습니다.

수정 내용이 바로바로 반영이 되는 것이 개발할 때 편리한 것은 당연하죠.




이제 수정한 php.ini 파일을 저장합니다.

그리고 설정파일을 수정했으면, 다시 웹 서버에 반영하기 위해 서버를 재시작해야 합니다.

웹 서버는 시작할 때 php.ini 파일을 읽어 들이기 때문에 웹 서버를 재시작해야 방금 설정한 내용이 반영될 수 있습니다.

재시작 하는 방법은 C:\Bitnami\wampstack-7.1.15-0/manager-windows.exe를 실행하고, Manage Servers 탭을 클릭하여 Apache를 restart 하면 됩니다.



추가적으로 Apache의 Configure를 클릭하면 요청로그, 에러로그를 확인할 수 있습니다.




 

 

이상으로 bitnami-wampstack을 이용하여 PHP를 설치해보고 테스트, 몇 가지의 환경 설정을 해보았습니다.

 

참고로 Bitnami를 사용하지 않고도 윈도우에서 PHP를 실행하는 방법은 얼마든지 있습니다.

  • IDE인 PHPStorm을 사용 ( 링크 )
  • PHP 5.4부터 지원되는 내장 웹서버 사용
    • CMD 창에서 php를 실행할 수 있도록 시스템 환경 변수를 설정한 후, php -S localhost:8000 명령어 실행

PHP를 개발할 때는 여러가지 측면에서 IDE인 PHPStorm을 사용하는 것을 권장합니다.


[ 참고 ]

생활코딩 WEB2 - PHP