페이지 정보

본문
파일 경로는 위와 같습니다.
(사진은 클릭하면 커집니다)
function.php에서, PHPMailer.php를 require 하기 위해
function.php 파일 최상단에 아래와 같이 경로를 적었습니다.

댓글목록
아우님의 댓글

require를 사용했을 때는 본문처럼 PHPMailer.php에 대해서만 에러가 나왔는데
include './PHPMailer/src/PHPMailer.php';
include './PHPMailer/src/SMTP.php';
include './PHPMailer/src/Exception.php';
이렇게 include로 바꿔서 사용해보니 PHPMailer.php, SMTP.php, Exception.php에 대해서 에러가 표시되더라구요. PHPMailer에 대한 클래스를 찾지 못해서 Uncaught Error: Class... 에러도 표시되고 있었습니다.
그래서 막막해하다가 include에 대한 php 메뉴얼을 보니 댓글에 $_SERVER['DOCUMENT_ROOT']를 붙인 다음에 경로를 적으면 된다고 나오는군요.
include $_SERVER['DOCUMENT_ROOT'].'./PHPMailer/src/PHPMailer.php';
include $_SERVER['DOCUMENT_ROOT'].'./PHPMailer/src/SMTP.php';
include $_SERVER['DOCUMENT_ROOT'].'./PHPMailer/src/Exception.php';
이렇게 적으니 에러가 나오지 않습니다.
$_SERVER['DOCUMENT_ROOT']가 서버를 통해 경로를 찾아주나 봅니다.
이것을 아래처럼
echo $_SERVER['DOCUMENT_ROOT'];
찍어보니
C:/xampp/gnuwiz가 나와요.
그래서 $_SERVER['DOCUMENT_ROOT']을 쓰지 않고 아래처럼 절대좌표 형식으로 include를 해봤거든요
include 'C:/xampp/gnuwiz/PHPMailer/src/PHPMailer.php';
include 'C:/xampp/gnuwiz/PHPMailer/src/SMTP.php';
include 'C:/xampp/gnuwiz/PHPMailer/src/Exception.php';
그랬더니 에러가 표시되지 않아요.
그렇다는 건, 결국 처음에 본문에서 에러가 났던 것은, 거기서 사용했던 상대좌표 형식이 잘못되었다는 뜻인데...
아무리 찾아봐도 형식에 대해서는 문제가 보이지 않네요. 상대좌표를 쓰는 건 쉽지 않네요.