[PHP] MySQL 연동하기 (Windows Ver)

김희정·2023년 11월 27일
0

프리랜서

목록 보기
10/10

💎 들어가며

이번 포스팅에서는 PHP와 MySQL을 연동하는 작업에 대해 설명합니다. 기존에 설명드렸던 WAMP 서버를 설치하면 자동으로 연동해주지만, 필요한 것만 쓰기에는 무거운 프로그램이기 때문에 PHP, MySQL만 세팅하고자 합니다.

WAMP 관련 참고 포스팅: [프리랜서] 그누보드 (2) - WAMP와 VS Code에서 개발하기

LAMP Stack

LAMP 스택은 개발자가 웹 사이트와 웹 애플리케이션을 빌드하는 데 사용하는 4가지 소프트웨어 기술(OS, WebServer, DB, Programming)의 번들입니다.

LAMP는 Linux(운영 체제), Apache(웹 서버), MySQL(데이터베이스 서버), PHP(프로그래밍 언어)의 두문자어입니다.
LAMP Stack



1. MySQL Setting

1.1 Download

MySQL 서버 설치시 Workbench도 포함되어 있습니다.


Select products to use

사용할 프로그램을 선택해줍니다.

로컬 환경에서 개발용으로 사용할 것이기 때문에 Server, Shell 프로그램을 선택해주면 됩니다.


2. PHP Setting

2.1 Download

사용할 버전에 맞는 PHP Zip 파일을를 다운받습니다. 압축을 해제해주고, 환경변수에 PHP Home을 등록해줍니다.


1) Set Environment Variable

명령 프롬프트(Command Prompt, 이하 CMD) 창 혹은 기타 IDE에서 PHP 명령을 사용하려면 다음과 같이 환경변수를 등록해줘야 합니다.

환경변수 등록

Path 변수에 바로 PHP 경로를 적어줘도 되나, PHP는 여러 버전이 있을 수 있기 때문에 PHP_HOME 변수를 생성해 %PHP_HOME%을 추가해줍니다.


2) Test

CMD 창을 열어 버전을 명시하는 기본 명령어를 내려줍니다.

$php -version

만약 환경변수 등록 전이라면 아래와 같은 에러메세지가 나타납니다.
php 환경변수 등록 전

환경변수 등록을 마친 뒤라면 아래와 같이 정상적으로 버전을 명시해줍니다.
명령 프롬프트 창


2.2 create file "php.ini"

php 폴더에 있는 php.ini-production 파일을 복사해 php.ini 파일을 생성합니다.

PHP 폴더

Text Editor 추천

저는 주로 메모장을 잘 사용하지 않고 Text Editor인 NPP(Notepad++) 프로그램을 설치해서 사용합니다.

NPP는 다음 링크에서 다운받을 수 있습니다.


1) Set Extension Directory

확장 프로그램을 이용하기 위해 extension_dir을 검색해 주석을 해제하고, ext 폴더를 지정해줍니다.

현재 디렉터리 밑에 ext 폴더가 있습니다.

2) Enable Extension - MySQL Service

MySQL 서비스 확장 프로그램 활성화를 위해 extension=mysqli를 검색하여 주석을 해제합니다.

MySQL 서비스 확장 프로그램 활성화

3) Test

$php -version

php 명령이 잘 수행되면, 설정이 잘된 것으로 볼수 있습니다.


3. Create "index.php" for Test

PHP 프로젝트에서 간단히 DB 연결 코드를 작성해봅니다.

저는 아래와 같이 Test DB를 생성해서 테스트 해보았습니다. Test 완료 후에는 삭제합니다.

# DB 생성
create database test;

# DB 삭제
drop database test;

3.1 Example Code

<!DOCTYPE html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>MySql-PHP 연결 테스트</title>
</head>
<body>
<?php echo "MySql 연결 테스트<br>"; $db = mysqli_connect("localhost", "root", "password", "db");
if($db){ echo "connect : 성공<br>";
} else{ echo "disconnect : 실패<br>";
}
$result = mysqli_query($db, 'SELECT VERSION() as VERSION');
$data = mysqli_fetch_assoc($result); echo $data['VERSION']; ?>
</body>
</html>

3.2 Test

PHP를 실행한 후, 웹 브라우저에서 접속하면 아래와 같은 화면을 볼 수 있습니다.

$php -S localhost:80 -t D:\Git\Template
[Mon Nov 27 16:24:36 2023] PHP 8.2.12 Development Server (http://localhost:80) started
[Mon Nov 27 16:24:41 2023] [::1]:53344 Accepted
[Mon Nov 27 16:24:41 2023] [::1]:53344 [200]: GET /
[Mon Nov 27 16:24:41 2023] [::1]:53344 Closing

💎 References

profile
Java, Spring 기반 풀스택 개발자의 개발 블로그입니다.

0개의 댓글