IT/development

[apache/php] apache/php 로컬환경 세팅(apm, xampp 미사용)

알 수 없는 사용자 2022. 11. 23. 06:57
반응형

목차

    apache/php 로컬환경 세팅(apm, xampp 미사용)😀

    image source:https://unsplash.com/s/photos/php

     

    apache-php 연동 할 일이 생겨서 삽질하다 좋은 블로그 글을 보고 세팅 성공 후 나 역시도 기록을 남긴다.

    전에는 apm이나 xampp만 사용 했었는데 아래 가뭄 속의 단 비 같은 블로그를 발견해서 성공 했다.


    로컬 PC 환경 : windows 10 64 bit(64 bit 기준으로 작성)

    apache WebServer 설치😋

    아래 사이트에서 Win64로 파일을 다운 받는다.

    https://www.apachelounge.com/download/

     

    Apache VS16 binaries and modules download

     

    www.apachelounge.com

     

    압축파일 해제 후 Apache24폴더만 C드라이브 최상위 경로로 옮김

     

    apache 실행(cmd로 실행, 모니터로 실행 2가지 방법 존재)

    1. cmd로 실행

    cmd를 관리자로 실행

     

     

    apache bin폴더 이동 후 아파치 설치(방화벽 엑세스 허용 선택)

    httpd.exe -k install

    Could not reliably determine the server's fully qualified domain name...

    에러는 최초 설치 시 도메인이 설정안되어 있어서 나는 경고인데 서비스 구동엔 문제 안됨

    저 경고창을 없애고 싶으면 아래처럼 httpd.conf의 ServerName을 localhost로 해주면 된다.

     

    아래 명령어로 apache 실행 후 127.0.0.1 or localhost로 호출 시 아래처럼 페이지 나오면 성공이다.

    apache 세팅은 끝이다.😉

    httpd -k start

     


     

    2. apache monitor 프로그램 이용

    아래 모니터 프로그램 관리자 권한으로 실행(웬만하면 항상 습관화 하는게 좋다.) 

     

    윈도우 디펜더 사용 중일 경우 최초 실행 시 아래처럼 표시됨

     

    추가정보 > 실행 선택

     

    실행 후 아래처럼 작업 표시줄 우측 상단 트레이 아이콘에 아파치 모니터 표시됨

     

    아래처럼 우클릭 해서 오픈하거나 더블클릭

     

    아래 그림처럼 모니터가 표시되고 스타트/스톱으로 구동

     

    브라우저에서 localhost 호출 후 페이지 정상 표시되는 것 확인

     

    여기까지 왔으면 apache 설정은 끝났다. 고생 많았다. 한번에 될 수도 있고 안될 수도 있다.

    하지만 내가 지금 테스트 해보면서 되는 걸 확인하면서 포스팅 중이다.

    안되면 분명 안되는 이유가 있는 것이니 해당 내용 구글링 해서 잘 해결해 보길 바란다.

    (이 걸 언젠간 찾아볼 미래의 나에게 하는 말) 🤨


    php 설치😃(64bit Thread Safe(apache 연동 시 Thread Safe 필수) 7.4버전)

    아래 사이트에서 php 다운로드

     

    PHP For Windows: Binaries and sources Releases

    PHP 7.4 (7.4.28) Download source code [23.58MB] Download tests package (phpt) [13.54MB] VC15 x64 Non Thread Safe (2022-Feb-24 17:53:12) Zip [24.86MB] sha256: a22ed33a06da592cb6eeb6e98fcf489906f50e2eea3482caf67e570600e3dbda Debug Pack [21.99MB] sha256: e523

    windows.php.net

     

    windows용 old version download

     

    windows.php.net - /downloads/releases/archives/

     

    windows.php.net

     

     

    ※ apache와 php 연동 시 php"버전"apache2_4.dll가 필요한데 Thread Safe버전만 이게 들어있음

    php7apache2_4.dll

    다운 받은 php 압축 파일 압축 해제 후 apache와 동일하게 C드라이브 최상위로 옮김.

     

    이제 php 설정 변경을 한다.

    php.ini-production을 하나 백업 후 php.ini라는 파일로 이름을 변경한다.

     

    extension_dir을 검색 후 extension_dir = "ext"를 주석해제 한다.(처음엔 주석처리됨)

    위 의미는 확장 경로를 현재 php.ini가 있는 경로에 존재하는 ext폴더로 설정한다는 의미이다.

    php에서는 확장 추가 할 때 ext폴더에다가 넣고 ini파일 해당 경로와 파일을 추가해서 읽어들인다.

     

    이제 apache에서 php를 읽을 수 있도록 연동해 줘야 한다.

    먼저 httpd.conf를 열어서 DirectoryIndex에 아래처럼 index.php를 추가해서 index.php를 apache에서 표시할 수 있도록 해준다.

     

    그리고 conf파일 맨 마지막에 아래 문장 추가 후 저장, php.ini 경로, php7apache2_4.dll, 어플리케이션 타입, 핸들러 타입에 .php를 추가해서 apache에서 php를 사용할 수 있도록 하는 것으로 추정된다.

    PHPIniDir "C:\php-7.4"
    LoadModule php7_module "C:\php-7.4\php7apache2_4.dll"
    AddType application/x-httpd-php .html .php
    AddHandler application/x-httpd-php .php

     

    당연히 아래처럼 실제 ini파일과 php7apache2_4.dll이 경로에 있는지 확인 해야 된다.

     

    설정은 끝났고 이제 잘 연동이 되었는지 테스트 해보면 된다.

    apache 재시작 후 에러가 나면서 기동이 안되면 뭔가 잘못된 거고 에러 없이 기동이 되면 정상 연동 된거다.

    100%는 아니지만 에러가 날 경우 경로 문제가 클 것으로 예상된다.

    윈도우 구분자("\")와 유닉스 구분자("/")를 잘못 적었거나, 경로 자체가 잘못되었거나..

    C:\Apache24\htdocs(apache 구동 시 참조 폴더, 이 경로에 있는 index파일들을 먼저 읽는다.)에 info.php를 하나 만들어서 호출을 해볼 거다.

     

    apache 서비스는 정상적으로 구동 되었다.

     

    info.php 호출 했는데 아래처럼 내가 작성한 phpinfo() 페이지가 정상적으로 표시되었다.(성공)

     

    여기까지 온 거면 apache <-> php 연동이 끝났다. 정말 고생 많았다.

     

    아래 블로그 보고 세팅을 완료했다. isy.exe님 정말 감사합니다.

    참조 : isy.exe님 블로그, 2020.3.13, https://fifo22.tistory.com/34

     

    윈도우10 Window10 환경에서 Apache, PHP 설치하기

    다른 블로그 보고 따라하다가 경로, 윈도우 비트 달라서 개뻘짓해서 빡쳐서 쓴는 글 내 컴퓨터가 win 64비트인지 확인해야함 이건 철저히 win 64비트를 위한 글임 1. 먼저 아파치 설치 https://www.apache

    fifo22.tistory.com


    php와 DB 연결은 아래 포스팅 참조 (해당 글은 cubrid 연동이지만 원리는 같다.)

    2022.03.22 - [IT/development] - [php] php <-> cubrid driver 연동

     

    [php] php <-> cubrid driver 연동

    php  cubrid driver 연동😄 php와 cubrid driver를 연동하면서 내가 나중에 보기 위해 기록함 보통 php는 apm(apache php mysql) 세트로 많이 사용한다. 즉 php에서는 보통 mysql을 많이 사용한다. 이번 프로..

    devlsy.tistory.com

    반응형