제목 | PHP5.5 + CodeIgniter 2.2 환경에서 CLI가 정상 실행되지 않습니다. | ||
---|---|---|---|
글쓴이 | Jaydee | 작성시각 | 2015/05/31 13:30:28 |
|
|||
안녕하세요, PHP 5.5에 CodeIgniter 2.2를 사용하고 있습니다. 환경설정은 다음과 같습니다. [Host] OS X 10.10.3 [Guest] ( vagrant ) Ubuntu 12.04 LTS PHP 5.5 with FPM Nginx 현재 /application/core 에 Controller를 재정의한 SB_Controller를 구현해 두었습니다. 물론, config.php에 prefix를 'SB'로 정의해 두었구요. 실행시키고자 하는 controller는 다음과 같이 정의하였습니다. class PushDaemon extends SB_Controller ... postman을 이용한 http 접근은 정상적으로 이루어집니다. 문제는, 해당 controller를 Codeigniter CLI로 다음과 같이 실행 하였을 때, php index.php pushdaemon SB_Controller의 코드가 그대로 출력이 되며 SB_Controller를 찾을 수 없다는 메시지가 뜹니다. 제가 굳이 버젼을 명시한 이유는, PHP 5.4 및 PHP 5.3에서는 정상적으로 실행이 되기 때문입니다. 유독 PHP 5.5에서만 이러한 문제가 발생합니다. 혹시 경험해 보신 분이 계시면 고견 부탁드립니다. 읽어 주셔서 감사합니다. |
|||
다음글 | 컨트롤러 생성자에 파라미터를 사용하는 방식 (2) | ||
이전글 | 특정 라이브러리가 실행되기 전에 hook을 해서 실행을... (1) | ||
한대승(불의회상)
/
2015/05/31 14:16:36 /
추천
0
|
Jaydee
/
2015/05/31 14:18:57 /
추천
0
답변 감사합니다.
네, 원래는 <?으로 되어있었습니다만, <?php로 고쳐 보았습니다. 하지만 변화는 없었습니다. 설정도 확인해보니 short_tags on 으로 되어있었습니다. |
한대승(불의회상)
/
2015/05/31 14:24:19 /
추천
0
cli 실행시 웹서버에 적용된 php.ini 와 다른가 보네요.
|
Jaydee
/
2015/05/31 14:24:52 /
추천
0
문제 해결했습니다. 한대승님께 진심으로 감사드립니다.
제 첫번째 댓글에서 변화가 없었다고 했는데, SB_Controller.php 의 코드가 아니라 제가 임의로 추가한 sb_config.php 파일의 내용이 출력되고 있는것을 변화가 없었다고 착각하였던 것입니다. 한대승님의 말씀에서 힌트를 얻어 해당 controller가 참조하는 모든 파일의 php 맨 앞 태그를 <? 에서 <?php로 고치자 문제가 해결되었습니다. 이 말은 /etc/php5/fpm/php.ini 에 short_tags on 으로 되어 있더라도, CLI 실행을 위해서는 php문서 맨 앞에 <?가 아닌 <?php 를 사용하여야 한다는 말이 되겠습니다. 다시 한번 감사드립니다. |
Jaydee
/
2015/05/31 14:38:43 /
추천
0
추가합니다. 결론은, 제 무지로 인한 실수였습니다.
저는 php-fpm 을 사용하고 있었는데 설정파일은 /etc/php5/fpm/php.ini 에 있고, php CLI 의 설정파일은 /etc/php/cli/php.ini 입니다. 당연히, short_tags on 설정 값이 달라서 나는 에러였던 것입니다. 다시 한번 한대승님께 감사드립니다. |
SB_Controller.php 가 <?php 로 시작하는지 부터 확인해 보세요.