이 문제 때문에 골치아픈 경험 있으신 분들에게 이 블로그는 필히 도움될거라 장담합니다.
조건
- Window 10/11 64bit 사용자
- 다른 가상환경을 사용하지 않는 사용자
- php8 연동 과정에서 문제가 생긴 사용자
이 세 조건이 충족한다면 계속 읽으시는 것을 추천드립니다.
PHP7과 PHP8의 연동 조건이 다르기에 저는 PHP8을 중점으로 설명해드릴 겁니다.
다운로드
1) Apache 다운로드
https://www.apachelounge.com/download/
Apache VS17 binaries and modules download
www.apachelounge.com
위의 링크에 들어가신다면 위의 이미지처럼 화면이 뜰 것입니다.
아까의 세 조건에 충족하신 분들이라는 조건 하에 우리는 상위 파일을 다운로드할 것입니다. (Win 64)
버전은 달라도 상관이 없습니다.
2) php 다운로드
https://windows.php.net/download/
PHP For Windows: Binaries and sources Releases
PHP 8.1 (8.1.28) Download source code [25.67MB] Download tests package (phpt) [15.38MB] VS16 x64 Non Thread Safe (2024-Apr-10 10:01:54) Zip [29.33MB] sha256: dfb80a048272765c9d4e5f7711ac0c7ae1376235732ff3dc0e24835ec761e867 Debug Pack [24.95MB] sha256: 5128
windows.php.net
버전은 8.0 이상만 되어도 상관 없습니다.
Non Thread Safe는 쓰지 않을 것이기에 Thread Safe를 다운로드해주세요.
만일 7버전 혹은 그 이하 버전을 쓰고싶은 분들은 아래 링크로 들어가시고 다른 블로그를 참고하시길 바랍니다.
PHP: Releases
The most recent branches to reach end of life status are: 8.0: 3 Aug 20237.4: 3 Nov 2022
www.php.net
배치
다운로드 할 때 파일 위치를 임의 조정하지 않았다면 다운로드 파일 안에 있을 것입니다.
먼저 Apache 파일을 배치해보죠.
- C 드라이브 안에 APM이라는 파일을 생성해줍니다. (APM은 Apache + PHP + Mysql 입니다)
- 다운로드한 압축된 Apache 파일을 압축 해제하시고 해제 위치를 C:/APM 으로 설정하시길 바랍니다.
- 해제 이후 Apache24 파일을 제외한 다른 파일은 삭제 혹은 다른 위치로 옮기시길 바랍니다. (꼭 필요한 것은 아니나 미관상 좋지 않습니다.)
이제 설정을 만져줄 차례입니다.
처음 까시는 것이라면 상관 없지만 많은 실패 이후 오신 것이라면 우선 명령 프롬포트(cmd)를 관리자 권한으로 실행하시길 바랍니다.
이후는 사진으로 대체하겠습니다.
만일 전 Apache를 삭제하지 않고 하신다면 충돌이 날 가능성이 있기 때문에 삭제하시고 다시 재다운로드하시길 바랍니다.
저는 이미 다운로드했기에 이런 메세지가 뜨지만 처음 혹은 삭제 후 다운로드 하신 분들이라면 다른 메세지가 뜰 것입니다.
이후 Apache를 실행시키는 방법은 2가지가 있지만 저는 더 편리한 방법으로 해보겠습니다.
C:/APM/Apache24/bin 이 경로로 들어가시면 해당 이미지에 나온 파일이 있을 것입니다.
더블 클릭을 하고 경고창은 예를 눌러주신 후 모니터 하단의 화살표를 눌러주시면
이 아이콘이 뜰 것입니다.
클릭하면
이 화면 혹은 그냥 start가 뜨실텐데 그냥 start 누르시면 됩니다.
그리고 인터넷에 들어가서 url에 localhost를 치시면
이 화면이 나오면 반 성공하셨습니다.
이제 php를 배치해보죠.
- APM 파일 안에 php8이란 파일을 생성합니다.
- 다운로드한 압축된 php 파일을 압축 위치를 1에서 생성한 파일로 설정한 뒤 압축 해제를 해줍니다.
php8 파일에 들어가셔서 php.ini-development 파일을 ctrl + c, ctrl + v를 해주시고 복사된 파일의 이름을 php.ini으로 바꿔주세요. (php.ini-production도 상관 없습니다.)
이제 이 파일에 들어가면 됩니다.
저는 visual studio로 들어갔지만 없으신 분들은 메모장도 괜찮습니다. (연결 프로그램)
들어가셔서 ctrl + f를 누르시고 extension_dir을 치시면 나올 것인데 이 화면처럼 텍스트를 바꿔주세요.
On windows는 바꾸시지 마시고 위의 것만 바꿔주시면 됩니다.
여기는 사용할 모듈의 주석을 제거해주어 사용할 모듈만 고르는 곳인데 화면처럼만 해주시면 됩니다.
만일 더 사용하실 모듈이 있다면 그것도 주석을 제거해주시면 됩니다. (세미콜론 제거가 주석 제거입니다)
ctrl + f 를 눌러 [Date]를 누르시면 나올 것입니다.
date.timezone의 주석 제거 이후 Asia/Seoul을 해주시면 시간 설정이 됩니다. (이건 선택 사항입니다. 안해도 됩니다.)
error_reporting을 찾아주시고 값을 위처럼 바꿔주세요.
이제 php 설정은 끝났고 다시 Apache24 폴더의 conf 파일에서 httpd.conf 파일을 열어
가장 하단부에 네 줄을 복사해주시고
IfModule dir_module을 찾아 화면처럼 index.php를 추가해주세요.
이제 마지막으로 작동이 잘 되는지 확인하기 위해 Apache24/htdocs에 들어가 phpinfo.php 파일 생성 후
를 입력해주시고 저장 후 인터넷 url에 localhost/phpinfo.php 를 입력해주시면
이런 화면이 뜰 것입니다.
만일 raw code가 뜬다면 아까의 Apache 아이콘을 클릭 후 재시작(restart)를 클릭해주시면 나올 것입니다.
다른 궁금한 점이나 버그같은 것을 댓글로 알려주시면 알려드리겠습니다.
'웹' 카테고리의 다른 글
flask로 웹 만들기 2 (+Mysql) (0) | 2024.04.04 |
---|---|
flask 로그인 기능 구현(db x) (0) | 2024.03.27 |
flask로 웹 만들기 (0) | 2024.03.16 |