질문Q #26359
Interface "CodeIgniter\Router\RouteCollectionInterface" not found
코드이그버그잡이2023-12-05 16:06:04

코드이그나이트 쌩초보입니다.

기존 동작하는 코드이그나이트 소스를 받아 공부중인데 

실제로 러닝하니 다음과 같은 오류가 나옵니다.

이런 오류들은 어디서부터 확인하면서 수정해야 할까요?

 

 

Error

Interface "CodeIgniter\Router\RouteCollectionInterface" not found search →

SYSTEMPATH\Router\RouteCollection.php at line 26

19 use Config\Services;
20 use InvalidArgumentException;
21 use Locale;
22 
23 /**
24  * @todo Implement nested resource routing (See CakePHP)
25  */
26 class RouteCollection implements RouteCollectionInterface
27 {
28     /**
29      * The namespace to be added to any Controllers.
30      * Defaults to the global namespaces (\)
31      *
32      * @var string
33      */
답변5
#1 변종원(웅파) 2023-12-05 16:51:43

코드이그나이터 분석중인 소스 버전과 php 설치하신 버전은요?

composer update 여부도요.

#2 코드이그버그잡이 2023-12-05 17:02:35

아래처럼 나오는데 환경이 IIS 환경입니다. 테스트해볼수 있는 환경이 이것밖에 없어서요

php 는 8.1.8 입니다.

코드이그나이트4인데 세부 버젼은 확인법을 모르겠습니다.

 

소스는 기존에 리눅스 서버에서 동작했습니다.

composer.json 파일 내용

{
    "name": "codeigniter4/framework",
    "type": "project",
    "description": "The CodeIgniter framework v4",
    "homepage": "https://codeigniter.com",
    "license": "MIT",
    "require": {
       
}

#3 변종원(웅파) 2023-12-05 17:09:38

vendor 디렉토리의 파일들이 다 있는지 확인을 해보셔야 합니다. composer 관련 디렉토리입니다.

 

그리고 소스를 어떻게 설치하셨는지, 변형본이 아닌지 알 수가 없어서 제대로 된 답을 하기 어렵습니다. (스무고개 시작)

#4 코드이그버그잡이 2023-12-06 11:21:14

파일이 잘못되어 있음을 확인하고 ftp 전송시 파일누락이 생기는 버그였습니다. 정상적으로 수정하니 새로운 error 이 나왔습니다.

CodeIgniter\Session\Exceptions\SessionException

Session: Configured save path "C:\testapp\src\appstarter\writable\session" is not writable by the PHP process.

 

인터넷을 찾아보니 php.ini 파일을 수정해주라고 해서 

session.save_path = C:\testapp\src\appstarter\writable\session

형태로 주가하였으나 동작하지 않네요

위가 권한으로 생각되는데 맞나요? 이거는 다르게 해결해야 하나요?

#5 변종원(웅파) 2023-12-09 23:53:01
디레토리가 없거나 파일을 쓸 수 없는 상태라서 그렇습니다. writable 디렉토리 하위는 모두 쓰기 권한이 있어야 합니다