본문 바로가기
homaki.tistory.com의 구글 광고
컴퓨터

윈도우(Windows) php와 mariadb(mysql) 연동하기

by homaki 2014. 11. 17.
◆ 이 블로그의 모든 게시물은 여러 방법을 이용해 다른 곳으로 퍼가는 것은 절대 허용하지 않습니다.
◆ 단, 게시물 링크를 남기는 것만 허용합니다.
이 문장 바로 아래글 내용 끝에 바로 나오는 광고티스토리 자체광고로 이 블로그와 무관합니다.

 이전 게시물 2014/11/15 - [컴퓨터] - 윈도우용 nginx와 php 연동하기에 이어서 mariadb(mysql)을 연동하는 방법을 쓰려고 한다. nginx와 연동할 때 php를 사용하기 위해 php.ini를 만들었을 것이다. 이번에는 php.ini만 조금 바꿔주면 바로 mariadb(mysql)을 연동하여 사용할 수 있다.


 mariadb 홈페이지

  https://mariadb.org


 mariadb를 받아서 압축을 풀면 my-small, my-medium, my-large, my-huge 같은 이름으로 된 ini 파일이 있는데 이중 알맞는 파일을 골라서 my.ini로 바꿔준다. 그다음 php.ini를 열어서 extension_dir로 검색을 하면 대충 735line에 걸리는 것이 있을 것이다.


  ; Directory in which the loadable extensions (modules) reside.

  ; http://php.net/extension-dir

  ; extension_dir = "./"

  ; On windows:

  extension_dir = "ext"


 위와 같은 부분이 있는데 여기서 On windows: 아래 extension_dir = "ext" 앞에 있는 세미콜론(;)을 지워준다. php 폴더를 보면 ext라는 폴더가 있는데 이 안에 php 확장 모듈이 들어있다. 이 경로를 지정해주는 것인데 그냥 ext로 두면 php 폴더를 루트로 인식해서 php 폴더 안에 있는 ext 폴더를 읽는다. 보통은 그냥 세미콜론만 지워도 된다.


 그 다음 Windows Extensions으로 검색을 해보자. 대충 873line에서 걸릴 것이다. 그 아래를 보면 무수히 많은 dll 파일 목록이 보일 것이다.


  ;extension=php_bz2.dll

  ;extension=php_curl.dll

  ;extension=php_fileinfo.dll

  ;extension=php_gd2.dll

  ;extension=php_gettext.dll

  ...생략...


 이런식으로 php/ext 폴더에 있는 파일 목록을 볼 수 있다. 이 목록의 중간을 보면 mysql이라는 단어가 보인다.


  ;extension=php_mysql.dll

  extension=php_mysqli.dll


 이 역시 앞에 있는 세미콜론을 지워주면 된다. mysqli를 사용하려면 그 아래 있는 것도 세미콜론을 지워주면 된다. php_mysql.dll은 비활성화 하고 php_mysqli.dll만 활성화해서 사용하는 것도 가능하다. 이것들을 수정해주고 php.ini를 저장한 다음 php-cgi를 재실행해서 phpinfo();을 이용해 php 정보를 열어 mysql로 검색하면 mysql에 대한 정보를 확인할 수 있다.



 이렇게 mysql 정보가 나오면 제대로 연동이 된 것이다. 이전 게시물에 이어 여기까지 했다면 nginx, php, mariadb(mysql)의 연동은 끝났다.


 이것과 별개로 php의 timezone을 설정하는 것도 적어 본다. phpinfo를 쭉 내려다 보면 date 관련해서 에러가 난 부분을 볼 수 있다. 이것은 timezone 설정을 하지 않아서 나오는 메시지다. 역시 php.ini를 열어보자. date 혹은 timezone으로 검색하면 대충 925line에서 걸리는 것이 있다.


  [Date]

  ; Defines the default timezone used by the date functions

  ; http://php.net/date.timezone

  date.timezone = Asia/Seoul


 기본값으로 모두 앞에 세미콜론이 있어 비활성화 되어 있는데 date.timezone 앞의 세미콜론을 지워주고 뒤에 Asia/Seoul이라고 쓴 다음 저장하고 php-cgi를 재실행하면 된다. 그러면 phpinfo에서 오류 메시지가 보이던 부분에 date라는 항목이 생긴 것을 확인할 수 있다.



 이걸 설정하면 xe나 textcube 등을 설치할 때 시간을 UTC+09:00을 기본으로 인식한다.

댓글

homaki.tistory.com의 구글 광고