VS Code์—์„œ php ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•(XAMPP)

2024. 10. 4. 14:29ยท๐Ÿ  Public/Development

1. ์›น ์„œ๋ฒ„ ๊ธฐ๋ณธ ์ƒ์‹

์›น์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” APM(apache, PHP, MySQL)์ด ํ•„์š”ํ•˜๋‹ค.

๊ฐ๊ฐ์„ ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์ด ๋งค์šฐ ๋ฒˆ๊ฑฐ๋กœ์šด๋ฐ, XAMPP๋ผ๋Š” ํ†ตํ•ฉ ์„ค์น˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ๊ณผ์ •์ด ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ•ด๊ฒฐ๋œ๋‹ค.

PHP๋Š” ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, MySQL์€ DB ์‹œ์Šคํ…œ, ๊ทธ๋ฆฌ๊ณ  Apache๋Š” HTTP ์›น ์„œ๋ฒ„์ด๋‹ค.

 

1.1. Apache

Apache๋Š” ์›”๋“œ์™€์ด๋“œ ์›น ์„œ๋ฒ„์šฉ ์†Œํ”„ํŠธ์›จ์–ด์ด๋‹ค. HTTP Apache๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค. ๋ฆฌ๋ˆ…์Šค๋‚˜ ์œˆ๋„์šฐ ๋“ฑ ๊ฑฐ์˜ ๋ชจ๋“  ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ตฌ์ถ•์ด ์‰ฝ๊ณ , ๋‹ค์–‘ํ•œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ˜„๋Œ€ ๊ฐ€์žฅ ์ธ๊ธฐ์žˆ๋Š” ์›น ์„œ๋ฒ„๋กœ ์ด์šฉ๋˜๊ณ  ์žˆ๋‹ค.

 

 

1.2. ์›น ์„œ๋ฒ„๋ž€?

์›น ์„œ๋ฒ„๋ž€, ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ๊ฐ™์€ Client๋กœ ๋ถ€ํ„ฐ HTTP ์š”์ฒญ์„ ๋ฐ›์•„๋“ค์ด๊ณ , HTLM ๋ฌธ์„œ์™€ ๊ฐ™์€ ์›น ํŽ˜์ด์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ๋˜๋Š” ์•ž์—์„œ ์–ธ๊ธ‰ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ์ปดํ“จํ„ฐ๋ฅผ ์˜๋ฏธํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

 

์›น์„œ๋ฒ„์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์€ ์›น ํŽ˜์ด์ง€๋ฅผ Client์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฃผ๋กœ HTML, CSS, JS, IMG ๋“ฑ ์ •์ ์ธ ์ •๋ณด๊ฐ€ Client์—๊ฒŒ ์ „๋‹ฌ๋œ๋‹ค. ์ฃผ ๊ธฐ๋Šฅ์€ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ, Client๋กœ๋ถ€ํ„ฐ ์ฝ˜ํ…์ธ ๋ฅผ ์ „๋‹ฌ ๋ฐ›๋Š” ๊ฒƒ๋„ ์›น ์„œ์„œ์˜ ๊ธฐ๋Šฅ์ด๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์›น ์„œ๋ฒ„๋กœ๋Š” IIS, Apach, Nginx ๋“ฑ์ด ์žˆ๋‹ค.

 

 ์›น ์„œ๋ฒ„๋Š” ์ •์ ์ธ ๋ฐฉ์‹, ๊ทธ๋ฆฌ๊ณ  ๋™์ ์ธ ๋ฐฉ์‹์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

  • ์ •์ ์ธ ์›น ์„œ๋ฒ„: ๋‹จ์ˆœํžˆ HTML ๋ฌธ์„œ๋งŒ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— Apache ์›น ์„œ๋ฒ„ ํ•˜๋‚˜๋ฉด ๋œ๋‹ค.
  • ๋™์ ์ธ ์›น ์„œ๋ฒ„: ๋™์ ์ธ ์›น ํŽ˜์ด์ง€๋Š” ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์— ๋”ฐ๋ผ์„œ ๋‹ค์–‘ํ•œ ์›น ํŽ˜์ด์ง€๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์ด๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด php์™€ MySQL DB๋ฅผ ์—ฐ๊ณ„ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

-> HTML ์ฝ”๋“œ ์•ˆ์— php ์–ธ์–ด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๊ณ , ์›น์„œ๋ฒ„(Apache)์—์„œ php์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•ด ๋™์  ์›นํŽ˜์ด์ง€ ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.


2. XAMPP๋ฅผ ์ด์šฉํ•˜์—ฌ apache-php ์„œ๋ฒ„ ๊ตฌ์ถ•

( PHP ์‚ฌ์šฉ์„ ์œ„ํ•œ VSCode ๊ธฐ๋ณธ ์„ค์น˜ ๋‚ด์šฉ (kincoding.com) ) ์ฐธ๊ณ ํ•œ ๋ธ”๋กœ๊ทธ์ด๋‹ค.

๋‚˜์˜ ๊ฒฝ์šฐ XAMPP๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ–ˆ์„ ๋•Œ, mysql๊ณผ ๊ด€๋ จ๋œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋–ด๋‹ค. xampp ์„ค์น˜ ์ด์ „์— MySQL์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด์„œ ๊ทธ๋Ÿฐ๋“ฏ ํ•˜๋‹ค.

 

๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์›๋ž˜ ์„ค์น˜๋˜์–ด์žˆ์—ˆ๋˜ MySQL์„ ์‚ญ์ œํ•˜๊ณ  ํ™˜๊ฒฝ ๊ตฌ์ถ•์„ ์‹œ์ž‘ํ–ˆ๋‹ค.


3. ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์ถ•

XAMPP์—์„œ Apache ์„œ๋ฒ„๊ฐ€ ์‹คํ–‰๋  ๋–„, ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด PHP ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด PHP ํŒŒ์ผ์ด htdocs ๋””๋ ‰ํ† ๋ฆฌ ๋˜๋Š” ๊ทธ ํ•˜์œ„ ํด๋”์— ์ €์žฅ๋˜์–ด ์žˆ์–ด์•ผ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค. XAMPP์—์„œ ์ œ๊ณตํ•˜๋Š” Apache ์„œ๋ฒ„๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ htdocs ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ ํŒŒ์ผ์„ ์ œ๊ณตํ•˜๋Š” ์›น ์„œ๋ฒ„์ด๋‹ค. ๋”ฐ๋ผ์„œ PHP ํŒŒ์ผ์ด ์ด ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์žˆ์–ด์•ผ ์›น ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค.

 

3.1. ์™œ php.exe๊ฐ€ ์žˆ๋Š” 'C:\xampp\php'๊ฐ€ ์•„๋‹Œ 'C:\xampp\php'์—์„œ ์ž‘์—…ํ• ๊นŒ?

php.exe๋Š” PHP์˜ CLI๋กœ, ํ„ฐ๋ฏธ๋„ ๋˜๋Š” ์ปค๋ฉ˜๋“œ๋ผ์ธ์—์„œ PHP ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ๋ฐ˜๋ฉด htdocs ํด๋”๋Š” Apache ์›น ์„œ๋ฒ„๊ฐ€ PHP ํŒŒ์ผ์„ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •๋œ ๋””๋ ‰ํ† ๋ฆฌ์ด๋‹ค.

 

 

3.2. htdocs

htdocs๋Š” Apache ์›น ์„œ๋ฒ„๊ฐ€ PHP ํŒŒ์ผ์„ ์ œ๊ณตํ•˜๋Š” ์›น ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์ด๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ PHP ํŒŒ์ผ์„ ์‹คํ–‰ํ•  ๋•Œ๋Š” Apache๊ฐ€ ํ•ด๋‹น ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์›น ํŽ˜์ด์ง€๋กœ ์ถœ๋ ฅํ•œ๋‹ค. ์ด ๋ฐฉ์‹์€ HTTP ์š”์ฒญ์„ ํ†ตํ•ด php๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ธŒ๋ผ์šฐ์ €๋กœ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

 

์˜ˆ๋ฅผ ๋“ค์–ด ๋‚ด๊ฐ€ 'practice.php'๋ผ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž.

 

 

์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ ํ–ˆ์œผ๋ฉด XAMPP์˜ Apache๋ฅผ ํ™œ์„ฑํ™” ํ•ด์ค€๋‹ค (mysql์„ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด ์ด๊ฒƒ๋„).

 

 

url ์ฐฝ์— 'localhost'๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๋–„, ์ด๋Ÿฐ ํŽ˜์ด์ง€๊ฐ€ ๋œจ๋ฉด Apache ์„œ๋ฒ„๊ฐ€ ์ž˜ ๊ตฌ๋™๋˜๊ณ  ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

 

 

์„œ๋ฒ„๊ฐ€ ์ž˜ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค๋ฉด, /practice.php๋ฅผ ์ž…๋ ฅํ•ด๋ณด์ž. ๊ทธ๋Ÿผ ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๊ฐ€ ๋ณด์ผ ๊ฒƒ์ด๋‹ค.


4. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ํ˜‘์—…ํ•˜๋ ค๋ฉด?

์œ„์—์„œ ๋งํ–ˆ๋“ฏ์ด XAMPP์—์„œ ์ œ๊ณตํ•˜๋Š” Apache ์„œ๋ฒ„๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ htdocs ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ ํŒŒ์ผ์„ ์ œ๊ณตํ•˜๋Š” ์›น ์„œ๋ฒ„์ด๋‹ค. ๋”ฐ๋ผ์„œ ํ˜‘์—…์„ ํ•  ๋•Œ๋„, ํ˜‘์—…ํ•˜๋Š” php ํŒŒ์ผ์ด ์ด ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์žˆ์–ด์•ผ ์›น ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

ํ˜‘์—…ํ•  ๋•Œ๋Š”, Git๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ž ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์ž‘์—…ํ•˜๊ณ , ์ดํ›„ ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•˜์ž๋ฉด

"๊ฐ์ž ํ”„๋กœ์ ํŠธ๋ฅผ ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์ง„ํ–‰ํ•œ๋‹ค -> git ๊ฐ™์€ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํ†ตํ•ด ์ž์‹ ์ด ์ž‘์—…ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ์—…๋กœ๋“œํ•œ๋‹ค -> ๋‹ค๋ฅธ ํŒ€์›๋“ค์ด ์˜ฌ๋ฆฐ ์ฝ”๋“œ๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ๋‹ค์Œ, ๋กœ์ปฌ ์ปดํ“จํ„ฐ์˜ XAMPP๋กœ ์˜ฎ๊ฒจ ์ดํ›„ ์ž‘์—…์„ ์‹œ์ž‘ํ•œ๋‹ค"

..๋Œ€์ถฉ ์ด๋Ÿฐ ๋А๋‚Œ์œผ๋กœ ๋‚˜๋Š” ์ดํ•ดํ–ˆ๋‹ค.

 

'๐Ÿ  Public > Development' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Python ๊ฐ€์ƒํ™˜๊ฒฝ Venv ์ดํ•ด  (1) 2024.09.12
'๐Ÿ  Public/Development' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Python ๊ฐ€์ƒํ™˜๊ฒฝ Venv ์ดํ•ด
SONOTREE
SONOTREE
@-@
  • SONOTREE
    SONOTRI
    SONOTREE
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (73)
      • ๐ŸŒฒ Dreamhack (19)
        • System Hacking (2)
        • Web Hacking (4)
        • Reverse Engineering (11)
        • Digital Forensics (2)
      • ๐Ÿฆ– Private (20)
        • C Language (2)
        • Java Language (6)
        • LinuxMaster (1)
        • webhacking.kr (3)
        • bandit (4)
        • CTF Wriet-Up (3)
        • GoN Club Study (1)
      • ๐Ÿ  Public (13)
        • Development (2)
        • web (8)
        • forensic (0)
        • elif (3)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
SONOTREE
VS Code์—์„œ php ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•(XAMPP)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”