제목 | php8.1.1 , CI4.1.8 에서 Paths.php 의 Parse 오류 | ||
---|---|---|---|
카테고리 | CI 4 관련 | ||
글쓴이 | RedCat | 작성시각 | 2022/02/04 21:01:22 |
|
|||
안녕하세요. php8.1.1 , CI4.1.8 환경에서 home 이 아닌 하위 주소에서 Paths.php 에서 아래의 오류가 발생합니다.
이상하게도 domain.com 으로 접속시 오류 발생 안하고, domain.com/login 등 하위 경로들에서만 발생합니다. Paths.php 의 해당 코드는 문제가 없습니다. 혹시나 싶어 연결자(.)를 지우고 경로를 바로 입력하면 $appDirectory 부분에서 발생합니다. public $systemDirectory = "/home/ci4/system"; // 오류 발생 안함 public $appDirectory = __DIR__ . '/..'; // 오류 발생함 그리고 동일한 컨트롤러(Home)으로 라우트 설정 해도 마찬가지입니다. $routes->get('/', '\App\Controllers\Home::index'); // domain.com 오류 발생 안함 $routes->get('/login', '\App\Controllers\Home::index'); // domain.com/login 오류 발생함 login 부분을 삭제 하고 Login 컨트롤러를 Home 과 동일한 코드로 해도 마찬가지입니다. 그런데 서버가 아닌 피씨에 xamp에서는 에러가 안나네요. 해결 방법이 있을까요? 이것 때문에 미춰버리겠습니다. 좀 도와 주십쇼~!
|
|||
다음글 | 라우팅관련해서 질문합니다. (7) | ||
이전글 | 설정 문의 드립니다. (3) | ||
RedCat
/
2022/02/06 01:16:18 /
추천
0
|
한대승(불의회상)
/
2022/02/07 15:57:52 /
추천
0
@RedCat PHP-FPM을 사용할 기회가 없어 별 도움이 못되어 드렸네요. 좋은 정보 공유 감사합니다. |
자답입니다.
기존 프로그램 걷어 내고 CI4 새로 설치해서 테스트 해보니 동일현상 발생하여,
꼭 프로그램 쪽 문제는 아닌거 같아서 확인해보니 문제는
apache 에서 procy_fcgi 로 php가 실행되면 htaccess가 먹통이 된다는 것입니다.
아마 그로인해 404 호출이나 이런 부분에서 위와 같은 에러가 있었던거 같습니다.
fcgi 를 사용하지 않는 것이 좋겠지만 어쩔수 없어서 찾아보니
vhosts.conf의 VirtualHost 에 아래 설정을 추가하니 htaccess가 정상 작동 합니다.
참고사이트
https://serverfault.com/questions/398834/understanding-apache-2-4-mod-proxy-fcgi-and-rewriterules-in-htaccess
- ProxyPassMatch 를 사용하면 htaccess가 적용 안된다는 답글이 결정적 힌트
https://serverfault.com/questions/450628/apache-2-4-php-fpm-proxypassmatch/672969#672969
- 제 경우의 해결 방법은 아니였지만만 참고할 필요 있을거 같습니다.
https://ma.ttias.be/apache-2-4-proxypass-for-php-taking-precedence-over-filesfilesmatch-in-htaccess/
- 이 아저씨의 설명글이 정답!