자바스크립트를 활성화 해주세요

d016 Windows에서 Php, Mysql개발환경 빨리 만들기

 ·  ☕ 3 min read

최근 php, mysql 프로젝트를 얼른 로컬에서 검토할 일이 발생하였습니다. 아직 제 윈도우즈에는 php나 mysql이 설치되어 있지 않았는데, 급하게 설치를 해야 했습니다.

윈도우즈에 php, mysql을 설치하는 블로그 포스트는 셀 수 없을 만큼 많습니댜만, 제가 사용하는 방법으로 안내하는 문서를 보지 못했는데, 이번에 소개하려 합니다.

php 설치

보통은 php 공식 home페이지 에서 다운받는 것을 소개하는 문서가 많습니다만, scoop을 이용할 수 있는 환경이라면 scoop을 이용하여 설치하는 쪽이 훨씬 더 간편합니다.

C:\www>scoop search php
'extras' bucket:
    appengine-go (1.9.70) --> includes 'php_cli.ps1'
    eclipse-php (2020-06)
    php-nts-xdebug (2.9.6-7.4)
    php-xdebug (2.9.6-7.4)

'main' bucket:
    php-nts (7.4.9)
    php (7.4.9)


살펴보면 php는 물론, php-xdebug도 있는 것을 알 수 있습니다. scoop을 사용하여 php를 설치하고, 또 php-xdebug를 설치하면 php.ini를 변경하지 않고 그대로 사용할 수 있습니다.

scoop install php php-xdebug

설치된 php환경에서 php.ini 가 어디에 있는 지 알려면 다음의 명령을 사용하면 됩니다.

php --ini

실행한 결과는 다음과 같습니다.

C:\www>php --ini
PHP Warning:  Module 'mysqli' already loaded in Unknown on line 0
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         C:\Windows\php.ini
Scan for additional .ini files in: C:\Users\Administrator\scoop\apps\php\current\cli;C:\Users\Administrator\scoop\apps\php\current\cli\conf.d;
Additional .ini files parsed:      C:\Users\Administrator\scoop\apps\php\current\cli\php.ini,
C:\Users\Administrator\scoop\apps\php\current\cli\conf.d\xdebug.ini

php --info로 내 환경을 얼른 확인합니다.

apache 는 패스.

php 소스코드를 로컬 윈도우즈로 복사해야 했습니다. 어디를 다운받을 지도 겸사겸사 살펴볼 겸해서, 얼른 winscp를 사용하여 코드를 다운받습니다.

scoop install winscp

코드를 다운받았습니다.

Apache는 설치하지 않습니다. 대신에 해당 디렉토리로 이동하여 PHP -S 옵션을 사용하여 로컬에 웹서비스를 실행합니다.

실행해보니, DB를 찾는 군요, DB도 로컬로 운영해야 할 것 같습니다.

만일 mysqli를 이용해야 할 경우 php.ini를 수정해야 합니다만, -c 옵션을 사용해서 php.ini를 지정해서 사용합니다.

php -c C:\Users\Administrator\scoop\apps\php\current\cli\php.ini -S 0.0.0.0:80

mysql 설치

mysql도 scoop 을 이용하여 설치합니다.

scoop install mysql

다만, 이렇게 설치된 mysql은 데몬이 자동으로 실행되지 않습니다. cmd창을 하나 띄워서 mysqld 커맨드를 실행합니다.

mysql 마이그레이션할 때, MySQL workbench를 사용하는 방법을 설명하는 문서들이 많습니다만, 그냥 mysqldump를 사용하여 로컬로 가져옵니다.

host에 ssh로 접속하여 mysqldump를 실행해서 dump파일을 만듭니다.

mysqldump --single-transaction --routines --all-databases -h $RemoteHost -u $User -p$Password > mydump.sql

생성한 mydump.sql은 winscp로 복사해옵니다.

가져온 dump파일은 mysql 커맨드를 사용하여 직접 restore해도 됩니다만,

mysql -h $RemoteHost -u $User -p$Password $Database < mydump.sql

내용을 확인하고 실행하기 위해서 restore하는 것은 DataGrip에서 오픈하여 사용합니다.

JetBrains IDE

php를 할 때는 그냥 phpstorm 을 설치하여 사용하는 것에 익숙해져 있기 때문에, 고민하지 않고 phpstorm을 설치해 실행합니다.

먼저 jetbrains-toolbox 를 설치하고 이 toolbox를 이용해서 phpstorm과 datagrip을 설치합니다. 라이센스가 없더라도 30일간 무료로 사용가능하기 때문에 그 안에 일을 다 처리하는 경우가 많으니 그냥 설치하셔도 괜찮다고 생각합니다.

C:\www>scoop search jetbrains
'extras' bucket:
    jetbrains-toolbox (1.17.7391)

'nerd-fonts' bucket:
    JetBrains-Mono (2.001)
    JetBrainsMono-NF (2.1.0)

C:\www>

실행한 IDE환경들은 다음과 같습니다.

datagrip

d016_datagrip.png

phpstorm

d016_phpstorm.png

레퍼런스

공유하기

tkim
글쓴이
tkim
Software Engineer