define 질문 채택완료
제가 개인 서버에
define('_RootPath', $_SERVER['DOCUMENT_ROOT'].'/');
이렇게 common.php 지정을 해 두고
include_once(_RootPath.'head_sub.php');
이렇게 include_once를 하니까
1. Use of undefined constant _RootPath - assumed '_RootPath' (this will throw an Error in a future version of PHP
2.include_once(_RootPathhead_sub.php): failed to open stream: No such file or directory in
3.include_once(): Failed opening '_RootPathhead_sub.php' for inclusion
이런 경고문이 뜨는데 echo 를 찍어서 보면 define 함수에 있는 값이 출력이 잘 되는데 왜 include 할 시에는 저런 오류가 뜨는 이유가 알고 싶습니다.
검색을 해봤지만 너무 안나와서 도움을 청해보네요
이유가 뭔지 궁금하고 해결 방법도 알려주시면 감사하겠습니다.
답변 4개
경고문이 뜨는데 echo 를 찍어서 보면 define 함수에 있는 값이 출력이 잘 되는데
<== 그럴리가요
이렇게 common.php 지정을 해 두고<== common.php를 제대로 include 하지못하고있을것 같은데요?
다음 처럼 define을 include 바로 위에 넣어서 해보면 금방 알게 되겠죠
define('_RootPath', $_SERVER['DOCUMENT_ROOT'].'/'); <---common.php를 제대로 불러온다면 여기서 중복설정 에러가 나야 합니다
include_once(_RootPath.'head_sub.php');
답변에 대한 댓글 3개
head_sub불러올 때 common에 있는 것을 사용하려고하니 없는 것이죠
<?php
include_once('common.php');
include_once(_RootPath.'head_sub.php');
?>
이렇게 하는게 정상이에요?
이렇게 하니까 오류가 하나도 안 뜨긴 하네요!
근데 제가 생각하기로는 head_sub에 common.php 를 인클루드해도 상위파일 기준으로 하위파일도 같이 이어지는게 아닌가 하고 이해하면서 사용하고 있었거든요 한번도 오류가 없었거든요 최근에 저 define 함수를 이해하고 상수를 만들어서 쓰는게 좋다고해서 사용해본건데 지금같은 오류를 발견한거고 ㅠㅠ
제가 잘못 이해하고 있었던건가 싶네요...
댓글을 작성하려면 로그인이 필요합니다.
include_once(_RootPath.'head_sub.php');
=>
include_once(_RootPath.'/head_sub.php');
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
지금 head_sub.php, include_once 에
<?php
include_once('common.php');
?>
이렇게 해 놨는데 왜 못 불러 오는 걸까요?...