외로운 Nova의 작업실

Web 모의 서버 구축 - 3(mysql, php 연동하기) 본문

Server Penetesting/Virtual Server

Web 모의 서버 구축 - 3(mysql, php 연동하기)

Nova_ 2023. 2. 28. 17:11

- php 다운로드 및 연동

https://windows.php.net/download/

 

PHP For Windows: Binaries and sources Releases

PHP 8.0 (8.0.28) Download source code [23.47MB] Download tests package (phpt) [13.56MB] VS16 x64 Non Thread Safe (2023-Feb-14 12:39:52) Zip [25.53MB] sha256: 6bcd82934073488cc451f2f1658feedeb43ef5077e9ae7bcf354ae5c8ec69b4a Debug Pack [23.21MB] sha256: a147

windows.php.net

위 링크로 접속해주셔서 Thread Safe 부분의 zip파일을 받아줍니다. 이후 압축을 풀고 이름을 php8로 바꾼다음 c드라이브로 옮겨줍니다.

이후 확장명 보기 옵션을 켜주고, php.ini-production파일을 열어 다른이름으로 저장후 php.ini 이름으로 저장해줍니다.

이제 ini파일을 설정할겁니다.

 

;extension_dir = "/ext" 부분을 찾아서 주석을 없애주고 경로를 써줍니다. 아래처럼입니다.

extension_dir = "C:\php8\ext"

이제 아파치에게 php의 경로를 알려줍니다. 아래 문장을 httpd.conf 파일 맨 밑에 써줍니다.

PHPIniDir "C:/php8"
LoadModule php_module "C:/php8/php8apache2_4.dll"
AddType application/x-httpd-php .html .php
AddHandler application/x-httpd-php .php

이제 php 연동이 끝낫습니다. 테스트해보겠습니다.

 

- php 테스트

htdoc폴더아래 test.php 파일을 만들고 아래와 같이 써줍니다.

<?php
    phpinfo();
?>

서버를 실행하고 test.php 파일을 불러오겠습니다.

 

- Mysql 연동

이제 Mysql 연동을 해보겠습니다.

https://dev.mysql.com/downloads/windows/installer/8.0.html

 

MySQL :: Download MySQL Installer

Select Operating System: Select Operating System… Microsoft Windows Select OS Version: All Windows (x86, 32-bit) Windows (x86, 32-bit), MSI Installer 8.0.32 2.4M (mysql-installer-web-community-8.0.32.0.msi) MD5: 0f882590f8338adc614e9dc5cb00ca0b | Signatu

dev.mysql.com

위 링크에서 mysql을 설치해줍니다. 설치가 완료되었다면 php.ini파일에서 mysql을 검색한후 ;주석을 풀어줍니다.

그럼 끝났습니다. 테스트를 진행해보겠습니다.

 

- 테스트

htdocs 폴더 밑에 sqltest.php 파일을 만들고 아래와 같이 써줍니다. sql 비밀번호는 다시 써줘야합니다.

<!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 = new mysqli("localhost", "root", "{sql비밀번호}", ""); 
    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>

 

이후 접속해줍니다.

 

Comments