inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

PHP 7+ 프로그래밍

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

해결된 질문

1795

devedu

작성한 질문수 8

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;
}

php

답변 2

2

devedu

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

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

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

감사합니다.

1

정상우

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

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

53강 레이아웃에서 css git 링크 관련 질문입니다.

0

34

2

[섹션 5]레포지토리 소스파일 오류 위치, 수정 제안

0

180

1

add configuratio.. 자체에

0

268

2

터미널에 글이 안써집니다.

0

635

1

일반적으로 쓰이지 않는 폰트 부분

0

465

1

readmore 클릭시 쿼리내용 받아오는게 이해가 안되요

0

497

1

$_GET과 $_POST를 구별하여야한다고 하는데 이건 왜 $_GET입니까 콜백이라서 그런가요? 왜콜백은 그래도 되나요?

0

475

1

xdebug 설치가 안됩니다.

0

401

1

xdebug 설치 확인 페이지가 안열립니다

0

360

1

if ~ elseif ~ else 문법 표준적인 코딩 방법에 대한 질문입니다.

1

523

1

mysqli_stmt_close($stmt) 관련 질문드립니다.

0

319

1

DB_CONNECTION 부분 질문

0

267

1

FILTER_VALIDATE FILTER_SANITIZE 차이를 모르겠습니다.

0

296

1

결과 ...

0

244

1

random_bytes

0

319

1

preg_replace_callback 질문드립니다.

0

435

1

호스팅에 php 코드 업로드하면 hash 로직이 보이진 않을까요?

0

266

1

버퍼링 궁금한 점이 있습니다.

0

287

1

restore_include_path 오류

0

316

1

php 에러발생..

0

3759

3

터미널로 php 실행시 document root 지정

0

243

1

posts가 null이라고 나옵니다.

0

207

2

rand() vs random_int() 차이점?

0

518

1

php 8 로 하시는 분들을 위한 ini 팁

1

513

1