제목 | core/config.php 부분에서 에러가 출력되는 문제 | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 정수리 | 작성시각 | 2018/03/23 14:48:48 |
|
|||
A PHP Error was encountered Severity: Warning Message: strpos(): Empty needle Filename: core/Config.php Line Number: 74
이 현상이 갑자기 생겨버리네요;;
처음에는 phpExcel를 사용해서 엑셀 파일, csv파일에서 데이터를 가져오는 기능을 만들고 나서
테스트를 했을 때 에러메세지가 처음 나타나더라구요;
엑셀 파일을 가져올때는 저런 문제가 없었는데 csv에서 파일을 가져오면 저런 문제가 발생하더라구요
그래서 다른 방안을 찾고있었습니다.
브라우저를 끄고 다시 브라우저를 실행하고 나서 프로젝트에 접속하니
로그인 페이지부터 저런 에러메세지가 출력되네요;;
파일에서 데이터를 가져 올 때가 문제가 아닌 다른문제 였나보더라구요;;
처음부터 프로젝트를 만들 때는 저런 메세지가 출력되지 않았습니다;; 갑자기 출력되니 당황스럽네요
에러메세지에서 출력되는 부분의 코드를 살펴보니
function __construct() { $this->config =& get_config(); log_message('debug', "Config Class Initialized"); // Set the base_url automatically if none was provided if ($this->config['base_url'] == '') { if (isset($_SERVER['SERVER_ADDR'])) { echo $_SERVER['SCRIPT_NAME']; echo '<br>'; echo basename($_SERVER['SCRIPT_FILENAME']); $base_url = (empty($_SERVER['HTTPS']) OR strtolower($_SERVER['HTTPS']) === 'off') ? 'http' : 'https'; $base_url .= '://'.$_SERVER['SERVER_ADDR']; $base_url .= substr($_SERVER['SCRIPT_NAME'], 0, strpos($_SERVER['SCRIPT_NAME'], basename($_SERVER['SCRIPT_FILENAME'])));//이부분에서 에러 출력 } else { $base_url = 'http://localhost/'; } $this->set_item('base_url', $base_url); } } 이게 에러메세지가 계속 출력이 되는것이 아닌 페이지가 새로고침되었을 때 뜰때도 있고 안뜰때도 있더라구요;; 원인이 무엇인지 확인하고자 echo 문으로
echo $_SERVER['SCRIPT_NAME']; echo '<br>'; echo basename($_SERVER['SCRIPT_FILENAME']); 새로고침을 계속 해보면
echo basename($_SERVER['SCRIPT_FILENAME']); 이게 출력이 되었다 안되었다 그러네요; basename($_SERVER['SCRIPT_FILENAME']); 값을 없을 경우에 에러가 출력이 되어버리네요;
딱히 core/config 부분에 손댄게 없는데 저런에러가 출력되는 이유가 무멋일까요??? |
|||
다음글 | db 삭제 실패시 404페이지 이동 처리를 따로 하고싶... (1) | ||
이전글 | 네이티브앱 api를 만들려고합니다. 인증토큰 발생 및 ... (2) | ||
변종원(웅파)
/
2018/03/23 16:07:36 /
추천
0
|
정수리
/
2018/03/23 16:31:48 /
추천
0
@변종원(웅파) 감사합니다. 올려주신 답변을 참조하여 해결하였습니다. 전에는 이런 문제가 없는데 서버가 이상해서 서버변수가 없을수도 있고 있을수도 있는 문제가 발생하는 것일까요?>
|
서버변수는 값이 있을 수도 없을 수도 있어서 생기는 현상 같습니다.
basename($_SERVER['SCRIPT_FILENAME']); <- 이 부분은 현재 실행되는 파일의 디렉토리정보까지 나온 내용에서 파일이름만 분리하는겁니다.
위 부분을 직접 기술하지 마시고 값이 없을 경우엔 해당부분을 사용하지 않도록 분기처리하시면 됩니다. strpos.... 부분.