Apache mysql 연동 - Apache mysql yeondong

간만에 Apache, PHP, MySQL 연동 세팅을 새로 산 집 컴퓨터에 구성하려고 하는데 간단히 끝날 일을 오랜만에 해서 그런지 삽질을 조금 했네요. 혹시나 이 후에 또 세팅을 할 때 도움이 될까해서 포스팅을 남깁니다. (Windows 10 64bit 기준)

Apache mysql 연동 - Apache mysql yeondong

1. Apache 설치

- Apache 다운로드 경로 : http://httpd.apache.org/download.cgi or http://www.apachelounge.com/download

- 본인 컴퓨터에 맞는 항목 다운로드 (httpd-2.4.7-win64-VC11.zip or httpd-2.2.32-win32-src.zip)

- 압축 해제 후 C:\Apache24 에 설치 (본인이 원하는 경로)

- 환경변수에서 path 추가 (C:\Apache24/bin)

- httpd.conf 파일 수정 (C:\Apache24\conf) 

  1) ServerRoot "c:/Apache24"

  2) Listen 80 => 본인이 원하는 포트

  3) DocumentRoot "본인의 프로젝트 경로"

  4) 아래 PHP 연동 코드 추가 (php 설치 경로 주의)

#PHP5

LoadModule php5_module "C:/Program Files/PHP/v5.6.3/php5apache2_4.dll"

AddType application/x-httpd-php .php .html

AddHandler application/x-httpd-php .php .html

#configure the path to php.ini

PHPIniDir "C:/Program Files/PHP/v5.6.3"

- 관리자 권한으로 cmd 실행 후 httpd.exe -k install 로 서비스 등록

2. PHP5 설치

PHP7 설치할까 하다가 걍 PHP5로 설치진행하였습니다.

- PHP 다운로드 경로 : http://windows.php.net/download/

여기서 주의 해야하는 것이 Thread Safe 버전을 받아야 한다는 것! 이 것 때문에 삽질함ㅠㅠ

만약 Non Thread Safe 모드를 받으면 php5apache.dll 이 없어서 삽질 할 수 있습니다.

- 환경변수에 path 추가 (C:\Program Files\PHP\v5.6.3 => 본인 설치 경로)

- php.ini-development 파일을 복사한후 이름을 php.ini 으로 바꿉니다.

- php.ini 수정

  1) ; extension_dir = "ext" 에 ; 주석을 삭제하고 extension_dir = "C:/Program Files/PHP/v5.6.3/ext" 로 경로 변경

  2) extension 의 ; 주석 제거

     extension=php_mysql.dll

     extension=php_mysqli.dll

3. MySQL 설치

- MySQL 다운로드 : http://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-5.7.11.0.msi

- 로그인이나 가입하라고 하면 No thanks, just start my download 링크를 누르면 됩니다.

- 서버로만 사용하므로 아래 그림과 부분만 신경써서 선택하고 나머지는 다 next 버튼 누릅니다.

http://studyforus.tistory.com/263 참조

4. 연동 테스트

- 관리자 권한으로 cmd 창 열고 DB 생성 

- php 파일 생성

<?php
$hostname = "127.0.0.1"; //아아피 혹은 도메인이름
$username= "root";   //아이디 (root)
$password = "비밀번호"; //root 비번
$dbname = "testdb";   //데이터베이스 이름 중 하나
$mysqli = new mysqli($hostname, $username, $password, $dbname);

if(mysqli_connect_errno()){ 
    printf("실패"); 
    exit(); 
}else{ 
    printf("성공"); 

mysqli_close($mysqli);
?>

- 브라우저에서 테스트 

* 잘 안되는 경우

1) Visual C++ Redistributable for Visual Studio 를 설치해보자

2) apache, mySQL 리스타트 (httpd -k stop / httpd -k start / mysqld 로 mysql 시작 /  mysql -u root 로 로그인)

3) 컴터 리부팅


Apache mysql 연동 - Apache mysql yeondong

아파치와 PHP 설치는 아래의 포스팅 글에서 참고 해주세요

[PHP] 1탄 가장 첫단계 윈도우 환경에서 아파치 톰캣을 설치해보자

crone.tistory.com/118

[PHP] 1탄 가장 첫단계 윈도우 환경에서 아파치 톰캣을 설치해보자

아파치 홈페이지를 접속하여 아파치 톰캣을 다운로드한다. www.apachelounge.com/download/ Apache VS16 binaries and modules download www.apachelounge.com 자신의 운영체제 비트에 맞는 버전으로 설치하도록..

crone.tistory.com

Apache mysql 연동 - Apache mysql yeondong

[PHP] 2탄 아파치 톰캣과 PHP를 연동해보자

crone.tistory.com/121

[PHP] 2탄 아파치 톰캣과 PHP를 연동해보자

1.PHP 다운로드 2.아파치의 설정 3.연동테스트 방법? PHP은 어디서다운받을까? windows.php.net/download PHP For Windows: Binaries and sources Releases PHP 7.4 (7.4.12) Download source code [23.35MB] Dow..

crone.tistory.com

Apache mysql 연동 - Apache mysql yeondong

아파치와 PHP 설치가 완료되었고, 연동테스트까지끝났다면 다음으로는 MYSQL을 설치 진행합니다

dev.mysql.com/downloads/installer/

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.22 2.5M (mysql-installer-web-community-8.0.22.0.msi) MD5: 6d4c2f4fe997f1e9e8a02b105e7f72c8 | Signatu

dev.mysql.com

ORACLE에서 MYSQL 인수하게되어 MYSQL을 다운받을 때, ORACLE의 계정이필요하니, 계정이 없다면 회원가입해서 다운을 받아 설치하여 주세요, 설치는 설치하는 환경에 따라 다소 다르기 때문에, 설치하는 내용은 생략하도록 하겠습니다

설치가 완료되었다면 PHP 파일내의 PHP.ini 설정을 진행하여야 합니다

Apache mysql 연동 - Apache mysql yeondong

메모장으로 열어서 mysql 사용설정을 진행하도록 합니다

926번째 라인 체크

Apache mysql 연동 - Apache mysql yeondong

extension=mysqli 부분의 주석을 풀어줍니다.

그리고, 아파치서버를 재실행 합니다

Apache mysql 연동 - Apache mysql yeondong

정상적으로 연결이 완료되었는지를 확인하기 위해 아래와 같은 소스를 만들어 넣어 실행합니다

<!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", "DB아이디", "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>

파일을 저장하여 실행시켰을 때, 아래와같이 데이터가 확인된다면 정상적으로 접근되었다고 확인할 수 있습니다

Apache mysql 연동 - Apache mysql yeondong