본문 바로가기
코드이그나이터와 php7와 mysql

윈도우에 PHP 8 설치 + MYSQL 연결 예제 ( APM 설치 - 2023. 9. 1기준)

오늘은 윈도우에서의 PHP(피에이치피) 설치에 대해 알아보겠습니다.

2023. 9. 1 기준 최신 PHP 버전은 8.2 인데요.
8.3 버전이 있긴 한데 아직 알파 버전(실험 버전)이라 논외입니다.

PHP 설치시 아래 2가지도 세트로 설치하는게 일반적인데요.
Apache(아파치), MySQL(마이에스큐엘)

이 모두를

'한방에 설치!'

하는 방법이 있습니다.

바로 아파치프랜즈XAMPP 설치 프로그램을 이용하는 방법이지요.
그럼 설치하러 가볼까요? 렛추 고우~


아파치 프랜즈 ( apachefriends ) 에서 설치프로그램 설치

먼저 아래 아파치 프랜즈 사이트에 접속해 주세요.

https://www.apachefriends.org/download.html

윈도우용 설치 프로그램을 다운받아 주시면 되는데,
XAMPP for Windows 어쩌고 부분란에 있는
최근 버전의 Download(64 bit) 버튼을 선택해 주세요.

그리고 설치 프로그램 아이콘더블 클릭하셔서 프로그램을 설치해주시면 되는데요.

프로그램 설치시 아래와 같은 권한 요구창에서는 '예'를 선택해 주세요.

그 다음은 Next 버튼을 계속 선택하시다 보면 아래와 같은 설치 진행 화면을 보실수 있습니다.

이제 느긋하게 커피 한잔 마시면서 10~20분 가량 기다리시면 되는데요. 

설치가 완료되면 아래와 같은 보안 경고창이 뜰겁니다.
체크 상자는 기본으로 홈페이지를 외부에 공개하는 설정인데요.
PHP 개발중 취약한 부분이 있으면 해커가 침투할 수 있습니다.
외부에 공개하려면 그냥 엑세스 허용 버튼을 누르시면 되지만,
연습용으로만 사용하시려면 위쪽 체크상자 선택하고 아래쪽 체크상자 해제하시면 됩니다.
( 이 경우 사무실이나 집 안의 다른 컴퓨터에서는 접근 가능합니다 )

드디어 완료! Finish ( 피니시 ) 버튼을 누르면 끝!


PHP 서비스 시작!

설치가 완료되면 이제 XAMPP 설정 화면이 등장하는데요.
이 화면은 PHP, Apache, MYSQL 3종 서비스를 시작하거나 중지하는 화면입니다.
이 서비스를 시작해야 컴퓨터가 백그라운드에서 홈페이지 서버로 작동하면서 PHP 도 함께 작동하는데요.
Apache라인과 Mysql 라인Start 버튼만 각각 한번씩 눌러주시면 홈페이지 서버가 작동하기 시작합니다. 

MySQL 서비스 시작시 아래 화면이 등장할 수 있습니다.
앞에서와 같이 체크상자를 선택, 엑세스 허용 버튼을 눌러주시면 됩니다.

이제 PHP8이 설치되었습니다.

이제 PHP 작동을 테스트해볼까요?
XAMPP 를 설치 한 다음 홈페이지 기본 폴더는 아래와 같습니다.

C:\xampp\htdocs

익숙한 에디터 프로그램 ( 없으면 메모장도 좋습니다 ) 을 이용하셔서
C:\xampp\htdocs\test.php 파일을 만들어, 아래 코드를 입력해 주세요.

<?php
$dice = mt_rand(1, 6);
echo "주사위를 던져! $dice";
?>

그리고 크롬이나 엣지같은 인터넷 브라우저를 열어 아래 URL을 입력해 주세요.

http://localhost/test.php

그러면 아래와 같은 화면이 등장할텐데요.

페이지를 새로 고침할 때마다 숫자가 바뀝니다.
1 ~ 6의 랜덤한 숫자를 출력하는 PHP 코드거든요.
제대로 작동하는 것을 확인하셨나요? :)


MYSQL 연결 PHP 소스

샘플 코드 하나만 더 살펴볼까요. MYSQL 서비스에 접속, 데이터를 삽입하고
이를 다시 꺼내 출력하는 간단한 코드인데요.
코드는 아래와 같습니다.
이번엔 C:\xampp\htdocs\test2.php 파일을 만들어 코드를 저장해 주세요.

<?php
// MYSQL 예제

// Mysql 연결
$conn = mysqli_connect("localhost", "root", "", "test");
if (!$conn) die("MySQL 연결 실패");

// 상품 테이블 생성
$conn->query("CREATE TABLE IF NOT EXISTS 상품 (
상품번호 INT PRIMARY KEY,
상품명 VARCHAR(30) NOT NULL,
가격 INT NOT NULL
) default character set utf8 collate utf8_general_ci;");

// 상품 입력
$array=[
	[1, '고나초콜랫', 2000], 
	[2, '웨아스', 2500],
	[3, '사망고', 3000]
];
foreach($array as $one)
	$conn->query(
		"INSERT INTO 상품 SET 상품번호=$one[0], 상품명='$one[1]', 가격=$one[2] 
		ON DUPLICATE KEY UPDATE 상품명='$one[1]', 가격=$one[2];"
	);

// 상품 출력
echo "<h1>크레이 제과점</h1>";
$query=$conn->query("SELECT * FROM 상품;");
while($row=$query->fetch_assoc())
{
	echo "<h3>상품번호 : $row[상품번호]</h3>";
	echo "상품명 : $row[상품명]<br/>";
	echo "가격 : ".number_format($row['가격'])."<br/>";
	echo "<hr/>";
}

?>

그리고 아래 URL 로 접속하셔서

http://localhost/test2.php

아래 결과 화면을 보셨다면 쾌거를 외쳐 주셔도 됩니다 :)

다만 한가지 문제점이 있는데요.
처음 설치후 MYSQL 패스워드가 없어서 외부에 열어 놓은 경우 해커 침투하기 쉽습니다.
그래서 필히 패스워드를 설정해 주셔야 하는데요.
다음번에는 패스워드 외에도 몇가지 설정을 추가로 다뤄보도록 하겠습니다.


추신

윈도우 11에서 Apache 서버를 시작할 때 아래와 같이 오류가 발생하는 경우가 있었습니다.

이 때는 아래 Visual Studio 재배포 가능 패키지를 설치하니 해결되는 사례가 있었습니다.

https://learn.microsoft.com/ko-kr/cpp/windows/latest-supported-vc-redist?view=msvc-170

이 경우 위 마이크로 소프트 공식 사이트에서 Visual Studio 2015, 2017, 2022 영역란의 x64 부분의 파일을 다운받아 추가로 설치해 해결하였습니다.


마무~리

아무쪼록 필요하신 분께 도움이 되셨나 모르겠습니다.
방문하시는 모든 분들께 감사드립니다.
늘 건강하세요~


🍿 Next 🍿

https://itadventure.tistory.com/628

 

윈도우에 PHP 8 설치 (2편, MYSQL 한글과 이모티콘 사용)

지난 게시글에서는 윈도우에 PHP8 과 MYSQL 설치, MYSQL 연결 샘플까지 다뤄보았습니다. https://itadventure.tistory.com/627 윈도우에 PHP 8 설치 + MYSQL 연결 예제 ( APM 설치 - 2023. 9. 1기준) 오늘은 윈도우에서의

itadventure.tistory.com


- 크레이의 에필로그 -

크레이의 주분야는 PHP입니다.
PHP3 ~ PHP7 버전을 모두 다루어 보았지요.
요새 뜨는 Node.js 라든가 Python 도 익히며 다룰 수는 있으나
여전히 PHP가 사랑스런 까닭은 개발을 가장 빨리 할 수 있기 때문입니다.

최근 PHP8의 기술수준은 무시못할 수준으로 알려지는데 그만큼 기능이 파워 업이 되었다 하더군요.
앞으로 이 버전도 익히며 공유하는 시간 가져보려 생각중입니다 :)