1. DOCUMENT_ROOT ๋ ์ด๋์ ์ค๋๊ฐ?
DOCUMENT_ROOT ๋ ์น ์๋ฒ(Apache, Nginx, PHP ๋ด์ฅ ์๋ฒ ๋ฑ)๊ฐ ์ค์ ํ ๊ฐ
- ์น ์๋ฒ๊ฐ ์์ฒญ์ ๋ฐ์ผ๋ฉด, ๊ทธ ์์ฒญ์ ์ฒ๋ฆฌํ ๋ ๋ฌธ์ ๋ฃจํธ ๊ฒฝ๋ก๋ฅผ ์ ํด๋๋ค.
- ๊ทธ ๊ฒฝ๋ก PHP์ ํ๊ฒฝ ๋ณ์๋ฅผ ๋๊น
- PHP $_SERVER['DOCUENT_ROOT'] ๋ก ๊ทธ ๊ฐ์ ์ฝ์
์ฆ, ์น ์๋ฒ๊ฐ ์ ํ ๊ฒฝ๋ก๋ฅผ PHP ๊ฐ ๊ทธ๋๋ ์ฐ๋ ๊ตฌ์กฐ
2. ์น ์๋ฒ๋ณ๋ก ์ด๋ป๊ฒ ์ ํด์ง๋๊ฐ?
Apache(MAMP ํฌํจ)
httpd.conf ๋๋ VirtualHost ์ค์ ์์ DocumentRoot ๋ก ์ง์
DocumentRoot "/Applications/MAMP/htdocs/Myhome”
<Directory "/Applications/MAMP/htdocs/Myhome">
...
</Directory>
์ฌ๊ธฐ์ ์ง์ ํ ๊ฒฝ๋ก๊ฐ $_SERVER['DOCUMENT_ROOT'] ๊ฐ ๋จ
Nginx
server ๋ธ๋ก ์์ root ์ง์์ด๋ก ์ง์
server {
root /var/www/html/MyHome;
...
}
Nginx๊ฐ FastCGI๋ก PHP์ ๋๊ธธ ๋ ์ด ๊ฒฝ๋ก๋ฅผ DOCUMENT_ROOT๋ก ์ ๋ฌ
PHP ๋ด์ฅ ์๋ฒ (phs -s)
์๋ฒ๋ฅผ ์คํํ ๋ ์ง์ ํ ๋๋ ํฐ๋ฆฌ๊ฐ ๋ฌธ์ ๋ฃจํธ๊ฐ ๋จ
php -S 127.0.0.1:8000 -t /Applications/MAMP/htdocs/MyHome
-t ๋ค์ ๊ฒฝ๋ก๊ฐ DOCUMENT_ROOT๊ฐ ๋จ
3. ํ๋ฆ์์ฝ
1. ์น ์๋ฒ ์ค์ (httpd.conf, nginx.conf ๋ฑ)
> DocumentRoot / root / -t ์ต์ ์ผ๋ก ๊ฒฝ๋ก ์ง์
2. ์ฌ์ฉ์๊ฐ http://localhost/admin/main.php ์์ฒญ
3. ์น ์๋ฒ๊ฐ ์์ฒญ์ ๋ฐ์
> "์ด ์ฌ์ดํธ์ ๋ฌธ์ ๋ฃจํธ๋ /Applications/MAMP/htdocs/MyHome ์ด๋ค"
4. ์น ์๋ฒ๊ฐ PHP ์คํ
> DOCUMENT_ROOT=/Applications/MAMP/htdocs/MyHome ๋ฅผ ํ๊ฒฝ ๋ณ์๋ก ์ ๋ฌ
5. PHP๊ฐ $_SERVER['DOCUMENT_ROOT']๋ก ์ด ๊ฐ์ ์ฝ์
์๋ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ฌ ์ฌ์ฉ ์ค์ธ ๋ฌธ์ ๋ฃจํธ ๊ฒฝ๋ก๋ฅผ ํ์ธํ ์ ์๋ค.
*echo๋ ๊ทธ PHP๊ฐ ์คํ๋๋ ์์ ์, ๊ทธ ํ์ด์ง์ HTML์ด ๋๊ฐ๋ ์์น์ ์ถ๋ ฅ!
<?php
echo $_SERVER['DOCUMENT_ROOT']; // ์ฌ๊ธฐ์ ์ถ๋ ฅ
exit; // ์ฌ๊ธฐ์ ์ข
๋ฃ (์๋ ๋ด์ฉ์ ์คํ ์ ๋จ)
include_once $_SERVER['DOCUMENT_ROOT']."/admin/common.php";
// ...