보안 문제로 서버의 php 환경 설정이 다음과 같이 되어 있는 게 요즘 추세이다.
allow_url_fopen = Off
설정을 이렇게 해두면 include
를 이용해 다른 파일을 불러들일 때 http://로 시작하는 절대 경로 URL은 쓸 수 없다. 만약 이런 절대 경로로 파일을 불러들인다면 오류가 뜬다. 따라서 include
로 불러들이는 파일 주소는 상대 경로로 써 주어야 한다.
예를 들어, http://abc.com라는 도메인의 루트 디렉토리에 있는 footer.php 파일을 그 아래에 있는 example 디렉토리의 sample.php 파일에서 include
를 이용해 불러들인다고 하자.
/ footer.php /example/ sample.php
이 경우 아래와 같이 절대 경로를 적어주게 되면 오류가 뜬다.
sample.php
<?php
include "http://abc.com/footer.php"; // 이러면 안 된다
?>
include
문에는 파일 주소를 아래처럼 상대 경로로 적어주어야 한다.
sample.php
<?php
include "../footer.php";
?>