주문하기 클릭시 warning 출력
본문
Warning: include_once(./common.php): failed to open stream: No such file or directory in /home/mytheme/www/_common.php on line 2
Warning: include_once(): Failed opening './common.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /home/mytheme/www/_common.php on line 2
안녕하세요 sir 회원님들
다름이 아니라 영카트5에서 상품 주문하기를 눌렀을때, 저런 php오류 메세지가 화면에 출력되어서
질문드립니다.
주문하기 클릭시 /shop/orderfom.php로 넘어가서
/shop/orderfom.php 에서는 <?php include_once('./_common.php'); ...
이렇게 include를하고
같은 디렉토리 내에있는 _common.php에서는 <?php include_once('../common.php');
이렇게 include를 하고
www/_common.php에도 정상적으로 파일이 있습니다 ( 기본 영카트5 수정은 따로하지않았구요)
전에 썼던 쇼핑몰 파일을 통째로 써서 전에 쓰던 쇼핑몰에서는 에러코드가 이런 에러코드가
출력되질않아 사수에게 확인해보니
php.ini에서 display_error를 끄라고 조언을 받긴했는데
구글링해본대로 Off를 해도 같은 증상이 이어지고 있습니다
무엇이 문제인지 혹시 알수있을까요?
답변 4
/shop/orderfom.php 에서
<?php include_once('./_common.php'); ...
부분을
<?php include_once('../common.php'); ...
이렇게 바꾸어보세요
테마에서 common 파일은 인클루드가 많이되잇죠 결론은 본체 를 인클루드해주심되는건데 잘따라가보셔요 ../ 이건 한단계위로 ./이건 같은구역 /이건 메인
안녕하세요~ 곰이v입니다^^
질문 내용을 보니... 경로에 작성에 관한 내용은 이미 알고 계시는 듯하네요..
그럼 경로를 제대로 작성했는데도 파일을 오픈하지 못한다는 에러라면?
파일 권한과 소유자에 대한 문제에 대해서 체크해볼 필요성이 있습니다.
우리가 일반적으로 서버라고 부르는 녀석은... 어떻게 보면 그냥 컴퓨터일 뿐입니다.
컴퓨터에 OS(보통은 유닉스계열을 많이쓰죠...)위에서 아파치라는 녀석이 웹서비스를 합니다.
아파치... 아파치는 우리가 보통 말하는 어플리케이션(유닉스계열에서는 데몬이라는 형태로 돌아갑니다.)과 비슷한 개념입니다. 더 자세히 말하자면 윈도우에서는 서비스의 개념이죠...
헌데 이 아파치가 돌아갈때는 해당OS에 apache나 nobody등의 계정을 만들어 해당파일(php소스파일 등)을 실행하고 있지요.
헌데 실행하기 위한 그 파일의 권한이 아파치계정보다 상위그룹이나 상위계정의 소유권을 갖고 있거나, 아파치가 실행할 수 없는 권한을 갖고 있다면 파일이 있어도 읽어 내질 못합니다.
OS나 아파치에 대한 지식이 부족하게 되면... 이런 황당한 경우에 부딛혔을때... 손놓고 멍해질수 밖에 없습니다.
체크해보셔야 할 점은,
1. G5_PATH/common.php 파일의 권한이 아파치계정에서 실행가능한 상태인지 체크
2. G5_PATH/common.php 파일의 소유자가 아파치 계정보다 상위그룹이나 상위 계정인지 체크
위 두가지 항목에 대해서도 체크를 해보셔야 할것 같습니다.
OS의 권한과 소유자, 계정, 그룹에 대한 내용은 구글링해보시면 자료가 많으니 검색해보시기 바랍니다.
이 외에도 아파치 설정에서 override부분과 디렉토리 권한에 대한 내용도 체크해보셔야 할것입니다.
긴글 읽어주셔서 감사합니다.
모두 도움주셔서 감사합니다.
777권한이나 chown을 통해 소유자를 변경해보았으나 되질않아 아파치를 재실행해보니 에러가 뜨질않네요
친절한 답변주신분들 모두 감사드립니다!