인프런 커뮤니티 질문&답변

devedu님의 프로필 이미지
devedu

작성한 질문수

PHP 7+ 프로그래밍

(include_path='.;C:\php\pear') 경로 설정 오류 같은데...

해결된 질문

작성

·

1.6K

1

Fatal error: require_once(): Failed opening required 'D:\myeongsim\newphp\LaravelBoard/app/controllers/index.php' (include_path='.;C:\php\pear') in D:\myeongsim\newphp\LaravelBoard\app\lib\functions.php on line 125

게시판 따라서 만들고 있는데 오류가 발생해서 질문드려요

막혀서 진도를 못나가고 있네요

에러로그입니다

[2] session_get_cookie_params() expects exactly 0 parameters, 1 given in D:\myeongsim\newphp\LaravelBoard\app\lib\functions.php on line 151
[2] Invalid argument supplied for foreach() in D:\myeongsim\newphp\LaravelBoard\app\lib\functions.php on line 222
[2] require_once(D:\myeongsim\newphp\LaravelBoard/app/controllers/index.php): failed to open stream: No such file or directory 
in D:\myeongsim\newphp\LaravelBoard\app\lib\functions.php on line 125

php.ini에서 아래 부분을 수정해야 하나요?

; UNIX: "/path1:/path2"

;include_path = ".:/php/includes"

;

; Windows: "\path1;\path2"

;include_path = ".;c:\php\includes"

;

; PHP's default setting for include_path is ".;/path/to/php/pear"

; http://php.net/include-path

D:\myeongsim\newphp\LaravelBoard 파일경로는 이렇게 만들어서 작업 중인데...

어떻게 수정해야 할까요?

몇 일째 막혀 있습니다... 도움 부탁드려요

functions.php  125 라인입니다. 아래 부분에서 에러가 발생하는 것 같아요

function routes($routes)
{
    foreach ($routes as [ $path$method$callbackString ]) {        
        if (match($path$method)) {
            [ $file$callback ] = explode('.'$callbackString);
            require_once dirname(__DIR__2) . "/app/controllers/{$file}.php";
            call_user_func($callback, ...array_values($_GET));
            return true;
        }
    }
    return false;
}

답변 2

2

devedu님의 프로필 이미지
devedu
질문자

저기 폴더명을 생성할 때 controller라고 만들었어서 접근이 안되었던 것 같습니다.

모든 것은 그대로 두고 폴더명을 controllers로 변경하니 경로오류가 제거되었습니다.

열받아서 머리 뽑다가 탈모 되기 전에 에러 해결해서 다행이네요.

감사합니다.

1

정상우님의 프로필 이미지
정상우
지식공유자

흠, 보아하니 파일을 오픈할 때 실패를 하는 것 같습니다. include_path 는 딱히 건드리실 필요는 없습니다. 저도 게시판 강의를 구성하면서 php.ini 를 딱히 건들지 않았으니까요. 일단, 프로젝트 폴더의 구조가 어떻게 되어있냐에 따라, functions.php 파일이 어디에 있냐에 따라 dirname(__DIR__,  2) 가 가리키는 폴더가 달라서 열지 못하는 것일 수도 있습니다. 따라서 require_once 를 하시기 전에, dirname(__DIR__, 2) 이 가리키는 폴더를 점검해보시는 것이 좋을 듯합니다.

아니면, app/controllers/ 부분을 app\\controllers\\ 로 바꿔보시는 것도 시도해 볼만한 방법입니다.

devedu님의 프로필 이미지
devedu

작성한 질문수

질문하기