Erzsamatory Weblog


블로그나 사이트를 운영할 때 꼭 필요한 것은 바로 웹 서버입니다. 웹 서버 중에서도 전세계적으로 가장 많이 사용되고 있는 웹 서버는 아파치 웹 서버입니다. 리눅스 운영체제에 최적화되어 있으며, 안전성이 높기 때문에, 거의 모든 웹 서버가 아파치를 기반으로 하고 있다고 보면 됩니다. 이 글에서는 64비트 윈도우즈에 아파치 웹 서버 최신 버전을 설치하는 방법에 대해서 알아볼 것입니다. 아파치 웹 서버는 리눅스뿐만 아니라 윈도우즈에서도 사용 가능한 웹 서버입니다. 개발자들이 PHP나 JSP와 같은 서버 스크립트를 테스트할 때 윈도우즈용 아파치 서버를 주로 사용합니다. 요즘 많이 사용되고 있는 64비트 윈도우즈에 아파치 웹 서버를 설치하여 PHP 스크립트를 테스트하는 방법에 대해서 자세하게 설명할 것입니다.

이 글에서 설치하는 웹 서버는?
Microsoft Windows 8.1 64bit
Apache HTTP Server 2.4.10
PHP 5.6.5


아파치 웹 서버란?


먼저 웹 서버에 대해서 간단하게 설명하도록 하겠습니다. 웹 서버는 인터넷과 연결되어 있으며, 다른 컴퓨터에서 접속이 가능하고, 정보를 요청받아 전송해주는 컴퓨터를 말합니다. 개발자의 입장에서 본다면, 웹 서버는 서버측 스크립트를 테스트할 때 사용되는 일종의 소프트웨어입니다. 클라이언트에서는 실행할 수 없는 PHP, JSP, ASP, Perl, Python 등의 프로그래밍 언어로 작성된 파일을 실행할 수 있게 해줍니다. 우리가 인터넷을 돌아다닐 때 볼 수 있는 모든 사이트와 블로그가 웹 서버를 기반으로 작동하고 있는 것입니다.

아파치 웹 서버Apache HTTP Server는 리눅스 시스템에서 가장 널리 사용되고 있는 웹 서버입니다. 빠른 속도와 높은 안전성이라는 장점이 있기 때문에 많이 사용되고 있다고 보면 됩니다. 아파치 웹 서버(이하 아파치 서버)는 네이버나 페이스북과 같은 대규모 시스템에서도 사용되고 있는 세계 최고의 웹 서버입니다.

아파치 서버는 그 성능이 매우 우수함에도 오픈소스이기 때문에 어느 곳에서든지 무료로 사용할 수 있습니다. 또한 운영체제의 제한을 받지 않기 때문에, 리눅스뿐만 아니라 윈도우즈에서도 사용할 수 있습니다. 윈도우즈를 개발 시스템으로 사용하고 있는 대부분의 웹 개발자는 본인의 윈도우즈 운영체제에 아파치 서버를 설치하여 개발된 소스코드를 로컬에서 테스트하고 있습니다. 인터넷에 업로드하지 않고 로컬에서 바로 테스트할 수 있기 때문에 좀 더 효율적이겠죠.


아파치 서버 + PHP + MySQL 설치 준비


아파치 서버는 PHP와 MySQL의 조합으로 사용되는 경우가 많습니다.

아파치 서버의 장점은 위에서 살펴보았으며, PHP는 문법이 매우 쉽다는 장점과 다양한 함수를 제공하고 있다는 장점이 있고, MySQL은 오픈소스에 무료이면서 성능이 우수하다는 장점이 있어, 아파치 서버, PHP, MySQL의 조합이 많이 사용되고 있는 것입니다. 그리고 모두 무료로 사용할 수 있는 오픈소스 제품이기 때문에 이 세 개의 조합으로 웹 서버를 구성한다면 아무런 비용도 들지 않는다는 최고의 장점도 있습니다. 이 세 개의 조합은 짧게 줄여서 APMApache PHP MySQL이라고 부르기도 합니다.

아파치 서버와 PHP, MySQL의 설치 파일은 다음 URL을 통하여 다운로드할 수 있습니다.


이 글에서는 64비트 윈도우즈에 64비트 아파치 서버를 설치할 것입니다. 따라서 위 링크를 통하여 다운로드되는 설치파일이나 소스코드 압축파일은 모두 64비트용입니다. 64비트 아파치 서버를 사용한다면, PHP도 역시 64비트용으로 설치해야 합니다. 참고로 64비트 윈도우즈라 하더라도 32비트 소프트웨어도 설치는 가능합니다. 왜냐하면 윈도우즈에는 32비트 시스템 파일과 64비트 시스템 파일이 따로 존재하기 때문입니다. 이 글은 64비트 시스템에 64비트 웹 서버를 설치하는 방법에 관한 글입니다.

64비트 윈도우즈용 PHP 최신버전을 실행하기 위해서는 Visual C++ 2012 라이브러리가 필요합니다. Visual C++ 2012 라이브러리는 다음 URL을 통하여 다운로드할 수 있습니다.

4. Visual Studio 2012 업데이트 4용 Visual C++ 라이브러리
http://goo.gl/mdvWIe

아파치 서버를 설치하기에 앞서, 위에서 다운로드한 Visual C++ 2012 라이브러리를 가장 먼저 설치하시기 바랍니다. 이 라이브러리가 우선적으로 설치되지 않는 경우에는 아파치 서버와 PHP가 정상적으로 작동하지 않기 때문입니다. 다운로드한 파일을 실행하면 자동으로 설치가 진행됩니다. Visual C++ 2012 라이브러리도 64비트 설치하시기 바랍니다.

아파치 서버 설치


다운로드한 httpd-2.4.10-win64-VC11.zip 파일은 컴파일된 윈도우용 아파치 서버 파일이 포함되어 있는 압축파일입니다. 리눅스용 아파치 서버는 사용자가 직접 컴파일을 해야 하지만, 윈도우용은 미리 컴파일되어 배포되고 있습니다.

접근하기 쉬운 적당한 경로에 아파치 서버 압축 파일을 풀어줍니다. 이 글에서는 아파치 서버의 기본 설치 폴더인 C:\Apache24 에 압축을 풀었습니다. 압축을 풀었으면 다음 명령어를 실행하여 Windows 서비스에 아파치 서버를 등록합니다. 만약 접근 거부 오류 메시지가 나타난다면, 관리자 권한으로 실행을 해야 합니다. 이 때에는 아래의 내용을 커맨드 파일(*.cmd)에 저장한 후 관리자 권한으로 실행하면 됩니다.

C:\Apache24\bin\httpd.exe -k install


C:\Apache24 가 아닌 다른 곳에 압축을 풀었다면, 아파치 서버 설정 파일httpd.conf을 수정해야 합니다. {아파치 서버 설치 경로}\conf\httpd.conf 를 실행한 후, c:/Apache24 로 되어 있는 기본 설치 경로를 현재 설치되어 있는 아파치 서버의 설치 경로로 적당히 변경해줍니다. 메모장에서 c:/Apache24 를 검색한 후 수정하면 편합니다.

Windows 서비스에 아파치 서버가 잘 등록되었는지는 Windows 서비스 관리자에서 확인할 수 있습니다. Windows 서비스 관리자는 [제어판] - [시스템 및 보안] - [관리 도구] - [서비스] 로 접근이 가능합니다. 아니면 services.msc을 직접 실행해도 됩니다. 서비스 목록에 Apache 2.4 항목이 있다면 아파치 서버가 정상적으로 설치된 것입니다.

httpd.conf 의 내용 중에 서버 이름을 지정하는 ServerName 속성이 있을 것입니다. 서버의 도메인과 포트번호를 이용하여 ServerName의 값을 지정하면 됩니다. 예를 들면, localhost:80.


PHP 설치


위에서 다운로드한 php-5.6.5-Win32-VC11-x64.zip 파일은 64비트 윈도우용 PHP 파일이 포함되어 있는 압축파일입니다. 아파치 서버를 설치할 때와 마찬가지로 접근하기 쉬운 경로에 압축을 풀어줍니다. 이 글에서는 윈도우용 PHP의 기본 폴더인 C:\PHP 에 압축을 풀었습니다. 압축을 풀었다면 다음 과정을 통하여 PHP 설치를 마무리하도록 합니다.

PHP가 설치된 경로이 글에서는 C:\PHP에 있는 php.ini-development 파일의 이름을 php.ini로 변경합니다. php.ini 파일은 PHP를 설정할 때 사용되는 파일입니다. 확장기능을 추가하거나 가상 호스트를 설정할 때 이 파일이 사용됩니다.

PHP 설치를 마무리하기 위해서는 php.ini 파일의 내용을 조금 수정해야 합니다. 수정하지 않으면 PHP에서 MySQL, GD와 같은 확장기능을 불러올 때 문제가 발생할 수도 있기 때문입니다. 우선 ; extension_dir = "./" 을 extension_dir = "C:\PHP\ext\" 로 수정합니다. 문자열 앞의 세미콜론은 꼭 삭제하시기 바랍니다. php.ini 에서 세미콜론은 주석으로 사용됩니다. 메모장에서 검색한 후 수정하면 편합니다.

그리고 Windows Extensions 부분에 있는 확장기능 설정 중에서, PHP가 MySQL 관련 확장기능 DLL 파일을 사용할 수 있도록 해야 합니다.

  • extension=php_mysql.dll
  • extension=php_mysqli.dll
  • extension=php_pdo_mysql.dll

이렇게 세 개의 파일을 사용할 수 있도록 문자열 앞에 있는 세미콜론을 삭제해줍니다. 주석을 삭제합니다.

모든 내용을 수정했다면, php.ini 파일을 C:\Windows 폴더로 잘라내기/붙여넣기이동O, 복사X 합니다. 복사/붙여넣기가 아니라 꼭 잘라내기를 하시기 바랍니다. 왜냐하면 PHP 폴더에도 php.ini가 있는 경우에는 Windows 폴더의 php.ini와 서로 충돌이 발생할 수도 있기 때문입니다.


아파치 서버와 PHP의 연동


아파치 서버와 PHP의 설치를 모두 마쳤으니, 이제는 아파치 서버와 PHP를 서로 연동시켜야 합니다. 아파치 서버와 PHP는 따로 설치되었기 때문에, 이 둘을 연동시켜주는 작업은 꼭 필요합니다.

우선, 아파치 서버의 기본 설정 파일을 수정해야 합니다. C:\Apache24\conf\httpd.conf 파일을 메모장에서 불러옵니다. 그리고 맨 아래쪽에 다음의 내용을 추가합니다.

PHPIniDir "C:/Windows"
LoadModule php5_module "C:/PHP/php5apache2_4.dll"
AddType application/x-httpd-php .html .php


위의 내용을 아파치 서버 설정 파일에 추가함으로써 아파치 서버와 PHP는 서로 연동됩니다. 모든 설정을 저장한 후, Windows 서비스 관리자에서 아파치 서버를 재시작하면 PHP와 아파치 서버가 함께 시작됩니다.


MySQL 설치


윈도우즈용 MySQL은 Windows Installer을 통하여 설치가 진행되기 때문에 설치 과정이 매우 간단합니다. 우선 다운로드한 mysql-installer-community-5.6.22.0.msi 설치파일을 실행합니다. 설치 과정 두 번째 단계인 설치 유형 선택하는 단계에서는 개발자 기본 설치 유형을 선택합니다. 개발자 기본 설치 유형에서는 MySQL 접속 관리를 위한 워크벤치, 엑셀 확장기능 등이 MySQL 서버와 함께 설치됩니다.

문제는 개발자 기본 유형으로 설치를 진행할 때 함께 설치되는 각종 확장기능플러그인에 있습니다. MySQL 설치를 진행하기에 앞서, MySQL 확장기능 실행에 필요한 소프트웨어가 현재 설치되어 있는지 확인하시기 바랍니다.

MySQL 설치 두 번째 과정에서 개발자 기본 설치 유형을 선택합니다.

MySQL 설치 두 번째 과정에서 개발자 기본 설치 유형을 선택합니다.



MySQL 워크벤치와 패브릭을 설치하기 위해서는 Visual Studio 2013용 Visual C++ 라이브러리가 먼저 설치되어 있어야 합니다. 다음 링크를 통하여 다운로드할 수 있습니다.

5. Visual Studio 2013용 Visual C++ 라이브러리
http://goo.gl/58wB6O

아래의 스크린샷과 같이 필요한 소프트웨어가 설치되지 않았다는 메시지가 나타날 수도 있습니다. Visual Studio 2013용 Visual C++ 라이브러리를 설치하라는 메시지가 나타나면 그냥 설치하면 되겠지만, 다른 요구사항들을 살펴보았을 때 지금 당장 설치하기에는 조금 부담스러운 소프트웨어가 있는 경우가 많습니다. 이 때에는 사용자 정의 설치 유형으로 되돌아가서 오류가 발생하는 제품을 설치 항목에서 제외시킨 후 설치를 진행하면 됩니다.

MySQL 확장기능에 필요한 소프트웨어가 설치되어 있지 않은 경우 나타나는 메시지

MySQL 확장기능에 필요한 소프트웨어가 설치되어 있지 않은 경우 나타나는 메시지



아래와 같이 설치 준비가 모두 끝났다면, [Execute] 버튼을 눌러 MySQL 설치를 진행합니다. 위에서부터 차례대로 연필이 내려오며 설치가 진행될 것입니다. 설치가 끝나면 MySQL 설정 창으로 바로 넘어갈 수 있습니다.

MySQL 설정 창에서는 서버 연결 유형 설정, 관리자 계정ROOT 설정, Windows 서비스 등록 여부 설정 등을 할 수 있습니다. 개발을 위한 MySQL이라면 기본 설정을 그대로 사용하면 됩니다. 설정이 모두 완료되면 MySQL 설치가 최종적으로 끝나게 됩니다.

MySQL 설치 준비가 모두 끝났습니다. 설치를 진행합니다.

MySQL 설치 준비가 모두 끝났습니다. 설치를 진행합니다.



MySQL 설치를 모두 마쳤다면, 아래의 PHP 소스코드를 이용하여 MySQL이 제대로 동작하는지 확인할 수 있습니다.

<?php

// 기본 타임존 설정
date_default_timezone_set('Asia/Seoul');

// 데이터베이스 테스트
$mysqli = new mysqli('localhost', 'root', 'password', 'information_schema');
if ($mysqli->connect_errno) {
    die('Connection Error ('.$mysqli->connect_errno.'): '.
    $mysqli->connect_error);
}

// PHP 정보 출력
phpinfo();


PHP 정보가 출력된다면 MySQL과 아파치 서버, PHP가 제대로 작동하고 있다는 것을 의미합니다. 참고로 아파치 서버의 기본 문서 루트 경로는 C:\Apache24\htdocs 입니다. 이곳에 PHP 파일과 각종 HTML 파일을 넣어야 인터넷에서 확인할 수 있는 것입니다. 이 경로는 httpd.conf 파일을 수정함으로써 바꿀 수 있습니다.


마무리


지금까지 64비트 윈도우즈에 64비트 전용 APMApache + PHP + MySQL을 설치하는 방법에 대해서 알아보았습니다. 사실 64비트 윈도우즈에 32비트 APM을 설치하는 것도 가능합니다. 위에서도 말씀드렸듯이 64비트 윈도우즈에는 32비트 시스템 파일도 포함되어 있기 때문입니다. 하지만 32비트보다는 64비트 APM을 사용하는 것이 속도면에 있어서는 더 빠를 것입니다. 64비트 운영체제의 장점을 모두 활용할 수 있기 때문입니다.

아파치 서버와 PHP, MySQL은 전세계적으로 가장 많이 사용되고 있는 조합입니다. 개인적으로 블로그 스킨을 개발하거나 새로운 웹 프로그래밍 기술을 연구할 때에도 이 조합을 이용하면 매우 좋습니다.
http://www.erzsamatory.net/trackback/172

건전한 댓글 문화를 만들어주시기 바랍니다 ^^
불건전한 댓글이 등록되는 경우 관리자의 임의적 판단으로 삭제될 수 있음을 미리 공지드립니다.

비밀글로 작성하기
  1. apm
    apm
    2015/02/09 21:10
    안녕하세요
    apm설치하던도중 마지막에 아파치서버와 php서버 연동한후 서비스 재시작을 하게되면
    로컬 컴퓨터의 Apache2.4을 시작하지 못했습니다. 이런오류가 나옵니다....
    포트 번호가 중복 오류인줄알고 확인을 해봤는데..그건아닌거같구요..
    혹시 아시면 답좀 주시면 감사하겠습니다.
    • Walter E.
      Walter E.
      2015/02/10 07:25
      아파치 실행중 오류가 발생하는 경우에는
      {아파치 설치 디렉터리}\logs 에 로그파일이 저장됩니다.
      이 로그파일에 오류 내용이 있으므로 한 번 확인해보시기 바랍니다.

      제 추측으로는, PHP 연동 이후 실행이 안 된다고 하셨으므로, PHP 확장 파일을 찾지 못 하였을 가능성이 있습니다. 아니면 DOCUMENT_ROOT 디렉토리로 사용되는 경로가 존재하지 않을 수도 있습니다. 한 번 확인해보십시오.
    • Remer
      Remer
      2016/08/10 17:41
      저도 댓글러님과 같은 증상을 겪었습니다.

      https://www.sitepoint.com/unblock-port-80-on-windows-run-apache/

      이 홈페이지에서 제시하는 바로는 몇몇 프로그램들이 아파치 서버를 구동하는데 방해가 되는것 같습니다.

      시간이 조금 지난댓글이지만, 다름분들의 문제해결에 도움이 되었으면 좋겠습니다.
  2. 학생
    학생
    2015/04/07 18:42
    작성자님! 좋은 정보 정말 감사합니다! 최고예요! ^.^b
    • Walter E.
      Walter E.
      2015/04/07 20:07
      감사합니다 ^^
  3. 초보자
    초보자
    2015/06/08 16:01
    잘 보고 갑니다. 도움이 많이 되었습니다. 감사합니다.
    • Walter Erzsa
      Walter Erzsa
      2015/06/08 20:01
      도움이 되셨다니 다행입니다. ^^
  4. 입문자amp
    입문자amp
    2015/06/17 10:20
    ...최근에 이렇게 깔끔하게 정리된 글은 처음 봅니다 ㅠ
    저도 이제 입문하여 궁금한게 하나 있는데 아주 기초적인거라..
    위에 php 파일로 mysql 설치가 정상적으로 되었는지 확인하는 작업이 있는데
    php 파일은 어떻게 생성되나요? txt 파일에 코드작성 후 확장자만 php로 바꿔주면 되지 않나요?ㅠ
    예전에 html 파일은 그렇게 생성이 되었던것같은 기억이 있어 시도해봤는데 안되는 것 같아서요...
    어떤 프로그램으로 작성해야 하나요 ?ㅠ
    • Walter Erzsa
      Walter Erzsa
      2015/06/18 11:35
      메모장에서 PHP 내용을 입력한 후 .php 파일로 저장하면 됩니다.
      단, 파일형식을 모든 파일로 지정한 후 저장하셔야 합니다.
      탐색기에서 확장자를 수정하기 위해서는 디렉토리 보기 옵션에서 알려진 확장자 숨기기 옵션을 해제한 후 수정해야 합니다.
  5. Tester
    Tester
    2015/06/26 19:18
    SQL설치 이후에 php코드로 동작확인하는건 어떻게 하는지요?
    php파일 만들고 UTF-8로 저장하고 htdoc에 넣고 localhost/파일명.php
    로 들어가보니
    아래와 같이 함수호출이 안되는데 뭐가 문제일까요 ㅠ

    // 기본 타임존 설정 date_default_timezone_set('Asia/Seoul'); // 데이터베이스 테스트 $mysqli = new mysqli('localhost', 'root', 'password', 'information_schema'); if ($mysqli->connect_error) { die('Connection Error ('.$mysqli->errno.'): '. $mysqli->connect_error); } // PHP 정보 출력 phpinfo();
    • Walter Erzsa
      Walter Erzsa
      2015/06/27 08:07
      PHP 문서의 가장 앞에는 <?php 가 있어야 합니다.

      중간 중간 HTML을 추가할 때에는 ?> 로 PHP 구문을 닫는 것도 필요합니다.

      이 문서를 수정하도록 하겠습니다. ^^
  6. Autoset 설치자
    Autoset 설치자
    2015/07/03 14:52
    APM에 대한 훌륭한 글을 보고 문의드립니다.
    질문 1. autoset9를 통하여 APM을 localhost에 설치하였습니다. 설치 직후는 상호 연동되어 정상적으로 가동을 하다가 컴퓨터를 재가동하면 “PHP에 MySQL 확장이 설치되어 있지 않습니다”라고 하는데, 이의 원인과 어떻게 수정을 하면 되는지 알고싶습니다.
    질문 2. php.ini에서 주석해제(쎄미콜론 ;)를 해야 하는데 모든 “;”을 제거해야하는지 아니면 지적하신 부분만 해도 되는지 알려주시면 감사하겠습니다.
    • Walter Erzsa
      Walter Erzsa
      2015/07/04 09:38
      PHP에 MySQL 확장이 제대로 연결되었는지 확인해보아야 합니다. php.ini에서 확장 DLL 세미콜린이 제거되었는지 확인해보세요.

      PHP에서 사용하고자 하는 라이브러리가 있을 때에만 주석을 제거하면 됩니다. GD 라이브러리나 기타 String 라이브러리 등을 PHP에서 사용하지 않는다면, 그냥 mysql 주석만 제거하면 됩니다.
  7. php
    php
    2015/07/08 17:26
    작성한 php문서 그대로 웹페이지에 출력이 되는데 어떤게 문제일까요 ㅠㅠ?
    • Walter Erzsa
      Walter Erzsa
      2015/07/09 21:26
      PHP 문서는 <?php 로 시작되어야 합니다.
  8. 2015/10/15 20:38
    감사합니다. PC쪽은 처음이었는데 덕분에 무난하게 설치했습니다.
    • Walter Erzsa
      Walter Erzsa
      2015/10/16 00:44
      성공하셨다니 축하드립니다. ^^
  9. 김민호_대학생
    김민호_대학생
    2015/10/19 03:05
    Mysql 연결이 확인되었는지 .php 파일로 확인을 했는대 이런 오류가 발생하내요 ㅠㅠ
    도움좀 주세요~
    Warning: mysqli::mysqli(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\Apache24\htdocs\text.php on line 6
    Connection Error (1045): Access denied for user 'root'@'localhost' (using password: YES)
    • Walter Erzsa
      Walter Erzsa
      2015/10/20 23:33
      패스워드를 잘못 입력하여 오류가 발생한 것 같습니다.
      root 계정의 패스워드를 확인해보세요 ~
  10. 에러공유
    에러공유
    2015/10/29 21:56
    Apache httpd.exe 파일을 명령어로 실행 했을 때 vcruntime에러가 나시는 분들은 2015visual을 설치해보시기 바랍니다.
    https://www.microsoft.com/ko-kr/download/details.aspx?id=48145
  11. 혹성
    혹성
    2015/11/12 21:42
    Warning: mysqli::mysqli(): in C:\Apache24\htdocs\EXPERIMENT2\newfile.php on line 7

    Warning: mysqli::mysqli(): in C:\Apache24\htdocs\EXPERIMENT2\newfile.php on line 7
    Connection Error (2002): php_network_getaddresses: getaddrinfo failed: �˷��� ȣ��Ʈ�� �����ϴ�.

    mysql이 잘 작동하는 지 알아보는 php 파일을 실행하니 이런 오류가 뜨네요 ㅠㅠ 어떻게 해야 할까요?
    • Walter Erzsa
      Walter Erzsa
      2015/11/13 18:59
      함수가 제대로 실행되었으나 PHP의 설정값 때문에 연결이 되지 않는 것 같습니다. 텍스트가 깨져 나오는데 한글이 깨진건가요?
  12. apm111
    apm111
    2015/12/08 08:19
    Warning: mysqli::mysqli(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\Apache24\htdocs\test.php on line 7
    Connection Error (1045): Access denied for user 'root'@'localhost' (using password: YES)
    이렇게 뜨는데 어떻게 설정을 해줘야하나요?
    • Walter Erzsa
      Walter Erzsa
      2015/12/09 20:44
      root 계정에 대한 접근이 거부되었다는 오류 메시지입니다. 아마도 패스워드를 잘못 입력하신 것 같습니다. root 패스워드를 맞게 입력했지만 접속이 되지 않는다면, host를 localhost가 아니라 127.0.0.1으로 변경해보시기 바랍니다.
  13. apm123213
    apm123213
    2015/12/08 08:24
    N 5.6.22-log g<1!RW@y��!�dh\tU-|OS2>!mysql_native_password!��#08S01Got packets out of order
    • apm111
      apm111
      2015/12/08 08:24
      위에 내용처럼 포트번호 입려하면 뜹니다.
  14. 감사합니다
    감사합니다
    2016/01/07 14:32
    깔끔하게 정리되어 있어서 쉽게 따라할 수 있었습니다. 잘 배우고 갑니다. 감사합니다.
  15. benny
    benny
    2016/01/13 23:11
    php 문서를 웹으로 열면 그냥 메모장에 적은 텍스트 그대로 나오네요

    맨앞에 <?php 있고

    맨 마지막에 ?> 로 닫았어요.

    포스팅하신 내용 긁어서 붙여넣기하고 마지막에 ?> 로 닫았는데 안되네요
    • Walter Erzsa
      Walter Erzsa
      2016/01/14 23:09
      PHP 문서는 아파치 디렉터리의 htdocs 내부에 위치해야 합니다. 그렇지 않은 경우에는 소스코드가 그대로 출력됩니다. 또한 아파치 설정을 통하여 PHP 모듈을 실행시켜야 합니다.
  16. sturgeon
    sturgeon
    2016/03/18 14:11
    안녕하세요 이쪽으로는 처음인데
    글 참고해서 설치 했습니다.
    근데 아파치 재실행시 "로컬컴퓨터의 Apache2.4를 시작하지 못했습니다." 오류가 나는데 도무지 잘 모르겠습니다.
    error.log파일을 봐도 잘 모르겠고 한번 봐주실수있을까요??

    AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::f519:726:879d:cd6d. Set the 'ServerName' directive globally to suppress this message
    [Mon Mar 14 18:38:32.150800 2016] [mpm_winnt:notice] [pid 1628:tid 392] AH00354: Child: Starting 64 worker threads.
    [Mon Mar 14 21:54:22.249800 2016] [mpm_winnt:notice] [pid 1432:tid 452] AH00422: Parent: Received shutdown signal -- Shutting down the server.
    [Mon Mar 14 21:54:24.468800 2016] [mpm_winnt:notice] [pid 1628:tid 392] AH00364: Child: All worker threads have exited.
    [Mon Mar 14 21:54:25.297800 2016] [mpm_winnt:notice] [pid 1432:tid 452] AH00430: Parent: Child process 1628 exited successfully.

    이런게 반복적으로 써있네요..
    부탁드립니다.
    • Walter Erzsa
      Walter Erzsa
      2016/03/20 11:46
      ServerName을 설정해야 한다고 합니다. httpd.conf 파일을 실행하여 ServerName 옵션을 지정해주세요.
  17. 울랄라하
    울랄라하
    2016/04/16 22:29
    [Sat Apr 16 21:33:35.764694 2016] [mpm_winnt:notice] [pid 9188:tid 684] AH00455: Apache/2.4.20 (Win64) configured -- resuming normal operations
    [Sat Apr 16 21:33:35.764694 2016] [mpm_winnt:notice] [pid 9188:tid 684] AH00456: Apache Lounge VC14 Server built: Apr 5 2016 13:15:28
    [Sat Apr 16 21:33:35.764694 2016] [core:notice] [pid 9188:tid 684] AH00094: Command line: 'C:\\Apache24\\bin\\httpd.exe -d C:/Apache24'
    [Sat Apr 16 21:33:35.764694 2016] [mpm_winnt:notice] [pid 9188:tid 684] AH00418: Parent: Created child process 9056
    [Sat Apr 16 21:33:36.905335 2016] [mpm_winnt:notice] [pid 9056:tid 648] AH00354: Child: Starting 64 worker threads.
    [Sat Apr 16 22:14:22.919220 2016] [mpm_winnt:notice] [pid 9188:tid 684] AH00422: Parent: Received shutdown signal -- Shutting down the server.
    [Sat Apr 16 22:14:24.934955 2016] [mpm_winnt:notice] [pid 9056:tid 648] AH00364: Child: All worker threads have exited.
    [Sat Apr 16 22:14:24.950580 2016] [mpm_winnt:notice] [pid 9188:tid 684] AH00430: Parent: Child process 9056 exited successfully.


    몇번을 지웠다 깔았는지 모르겠습니다 ㅠㅠ 알려주시면 정말 감사하겠습니다 이게 무슨 오류일까요 ㅠ
    • 울랄라하
      울랄라하
      2016/04/16 22:33
      localhost 를 치게 되면 it work 는 뜨고있습니다
      서비스에서 apache24 를 키게되면 사용할수 없다고 뜨게되네요 ㅠ
    • Walter Erzsa
      Walter Erzsa
      2016/05/06 20:17
      답변이 늦어 죄송합니다... it works라고 뜨면 정상적으로 설치가 된 것입니다. 위의 메시지는 로그에서 본 것인가요?
  18. 다운로드
    다운로드
    2016/05/05 20:56
    MySQL for visual studio 1.2.3
    어디에서 다운로드 받나요?
    windows 10 x64비트 컴퓨터 사용중인데
    visual studio 2015 이미 깔려있고,

    visual studio 2013용 c++ 재배포 패키지,
    https://www.visualstudio.com/ko-kr/downloads/download-visual-studio-vs.aspx

    visual studio 2012용 c++ 재배포 패키지
    https://www.microsoft.com/ko-kr/download/details.aspx?id=30679

    두 개 다 깔았다 지웠다 해봐도 .. 계속 uninstalled 상태에요 어떻게 처리해야 할 지 모르겠습니다.
    • Walter Erzsa
      Walter Erzsa
      2016/05/06 20:18
      MySQL for visual studio 1.2.3 가 정확히 무엇을 의미하는 건가요?
  19. chocolate
    chocolate
    2016/06/03 23:09
    MySQL이 잘 깔렸는지 확인할려고 .php 파일을 만든다음 localhost/test.php 여기로 들어가봤는데

    Warning: mysqli::__construct(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in D:\PHP study\httpd-2.4.20-win64-VC14\Apache24\htdocs\test_1.php on line 5
    Connection Error (1045): Access denied for user 'root'@'localhost' (using password: YES)
    이런 에러가 뜹니다 아래 댓글을 보니까 저랑 같은 방식으로 에러가 뜬 경우가 있던데

    root 계정에 대한 접근이 거부되었다는 오류 메시지입니다. 아마도 패스워드를 잘못 입력하신 것 같습니다. root 패스워드를 맞게 입력했지만 접속이 되지 않는다면, host를 localhost가 아니라 127.0.0.1으로 변경해보시기 바랍니다.

    이렇게 답변 하셨더라구요 여기서 제가 궁굼한 점은
    1. 제가 mysql를 깔면서 패스워드를 설정하긴했지만 localhost/test.php 여기에 접속할때엔 패스워드를 입력한적이 없는데 패스워드를 잘못 입력했다고 하셨는데 이 말이 이해가 안되네요
    2.127.0.0.1로 변경해서 들어가봐도 똑같이 에러가 뜨는데 이런경우는 어떻게 해야하나요?
    3. 패스워드가 틀려서 들어가지 못한다면 패스워드를 없애는 방법은 없나요?
    • Walter Erzsa
      Walter Erzsa
      2016/06/04 20:39
      일단 MySQL을 설치할 때 입력한 패스워드를 아래의 password 부분에 입력해야 합니다.

      $mysqli = new mysqli('localhost', 'root', 'password', 'information_schema');

      보통 MySQL에는 인증된 서버만 접근할 수 있습니다. 기본값은 localhost와 127.0.0.1입니다. 일단, 위의 password 부분은 본인이 설치할 때 입력한 패스워드로 변경해보시기 바랍니다.

      MySQL 패스워드는 보안상 없애지 못 하는 것으로 알고 있습니다.
  20. user
    user
    2016/08/03 14:40
    안녕하세요. 덕분에 설치까지 잘 끝냈습니다. 감사합나다.
    다만 질문이 있어 댓글 남깁니다.

    저는 넷빈즈 8.1을 쓰고 있습니다. 프로젝트 위치는 Apache24\htdocs로 설정했구요.
    그리고 연동 확인을 위한 위의 코드를 넣고 비밀번호도 잘 넣은 후 실행을 했는데 웹페이지가 계속 로딩만 되고 있습니다. ㅠㅠ
    다른 내용을 넣어도 마찬가지고, 혹시 넷빈즈가 문제인가 싶어서 메모장으로 해봤는데 404 에러가 뜨더라구요...
    도움 부탁드립니다...!
    • Walter Erzsa
      Walter Erzsa
      2016/08/17 20:40
      아무런 내용이 뜨지 않고 로드가 지속된다는 것은 무엇인가 충돌이 발생하여 무한로딩이 진행되고 있기 때문입니다. 다른 오류 메시지가 나타나지 않는다면 웹서버를 재설치하셔야 할 것 같습니다.
  21. 초보
    초보
    2016/08/15 20:36
    작성자님 말씀대로
    """PHP 설치를 마무리하기 위해서는 php.ini 파일의 내용을 조금 수정해야 합니다. 수정하지 않으면 PHP에서 MySQL, GD와 같은 확장기능을 불러올 때 문제가 발생할 수도 있기 때문입니다. 우선 ; extension_dir = "./" 을 extension_dir = "C:\PHP\ext\" 로 수정합니다. 문자열 앞의 세미콜론은 꼭 삭제하시기 바랍니다. php.ini 에서 세미콜론은 주석으로 사용됩니다. 메모장에서 검색한 후 수정하면 편합니다.

    그리고 Windows Extensions 부분에 있는 확장기능 설정 중에서, PHP가 MySQL 관련 확장기능 DLL 파일을 사용할 수 있도록 해야 합니다.

    extension=php_mysql.dll
    extension=php_mysqli.dll
    extension=php_pdo_mysql.dll"""
    한후 windows에 잘라 낸후에 실행 해본결과
    Fatal error: Class 'mysqli' not found in C:\Apache24\htdocs\db\db1.php on line 4 식으로 계속 나오네요..다른글 보니까 몇개는 환경변수 설정 얘기도 하시던데 그게 문제일까요 ?
    그리고 ini 안에 extension_dir이 두개 있길래 우선 두개다 위에 처럼 경로 설정을 해준 상태입니다
    • Walter Erzsa
      Walter Erzsa
      2016/08/17 20:39
      extension_dir 하나는 Windows용, 다른 하나는 Unix용입니다. 하나만 사용하여야 합니다.

      그리고 위와 같은 문제는 mysqli 클래스가 로드되지 않았을 때 발생합니다. 정상적으로 php.ini 파일을 수정하였다면, 다음 사항을 확인해주시기 바랍니다.

      1. PHP 경로 (위 글에서는 C:\PHP)
      2. php.ini 경로 (위 글에서는 시스템 폴더)
      3. 환경변수 - 다른 글에서 보셨듯이 시스템 환경변수에 PHP 설치 경로를 추가해보시기 바랍니다.
  22. 배우고싶습니다
    배우고싶습니다
    2016/09/05 17:49
    안녕하세요
    마지막에 MySQL 설치를 마치고, PHP소스코드를 이용하여 MySQL이 제대로 동작하는지 확인하는 동작에서 C:\Apache24\htdocs경로에 메모장을 이용하여 소스코드를 복사하고 여러댓글들을 보고 .php 확장자로 저장하여(aa.php) http://localhost/aa.php로 접속해보면 아래와같은 알림이 뜹니다.

    사이트에 연결할 수 없음

    localhost에서 연결을 거부했습니다.
    Google에서 localhost 검색
    ERR_CONNECTION_REFUSED

    이럴경우 어떻게 해결해야되나요?
  23. ke
    ke
    2016/09/16 15:44
    포스팅 너무 잘보고 배웠습니다.
    mysql에 대해서 책을 구매해서 보고 있는데요,
    13년 출판 책인데 php의 api로 mysql접속할때 mysql_connect()를 쓰더라구요,
    그런데 접속이 안되서 이 홈페이지를 보니 mysqli() 을 쓰시던데 둘의 차이를 알고 싶어요.
    분명 mysql홈페이지에서 최신버전을 설치했는데 기본 함수를 왜 쓸수 없는지에 대해서 여쭤보고 싶습니다! 감사합니다 :)
  24. 덕분에 암이 나았습니다.
    덕분에 암이 나았습니다.
    2016/10/27 19:34
    안녕하세요 블로그지기님 ㅎㅎ
    보고 따라해서 성공했습니다. 감사합니다!
  25. 학생
    학생
    2016/10/29 20:00
    MySQL 설치후 php파일을 실행했는데 다음과 같이 나왔습니다.

    Fatal error: Class 'mysqli' not found in C:\Apache24\htdocs\newfile.php on line 6

    mysqli 클래스를 못 찾는 것 같은데 이전까지 나온 설명대로 php.ini라든가 설정은 다 했습니다. 이유 좀 알려주시면 감사하겠습니다.
    • Walter Erzsa
      Walter Erzsa
      2016/12/10 23:36
      php.ini 파일에서 mysqli 클래스 설정을 하였다면, 아파치에서 php.ini 설정파일을 찾지 못 하는 것 같습니다. php.ini 파일을 찾을 수 있게 시스템 환경변수에 PHP 설치 경로를 추가하거나 php.ini 파일을 WINDOWS 설치 폴더\SYSTEM 폴더에 복사해보시기 바랍니다.
  26. 태섭
    태섭
    2016/11/10 01:21
    안녕하세요 php연동관련해서 여쭈어보려고합니다.
    아파치 설치는 했습니다. php연동을 했는데 192.168.1.150:206/phpInfo.php 주소창에해서
    php화면을 확인해보려고하는데 나오지가 않습니다.
  27. 윤권
    윤권
    2016/12/21 17:03
    좋은걸 퍼가요~~