2011-10-23 4 views
0

short_open_tags가 활성화되어있는 동안 <?=foo()?> 에코의 짧은 구문이 작동하지 않습니다. 나는 Centos6을 실행 해요 :PHP <?=foo() ?> 작동하지 않습니다.

Linux pau.pauperis.com 2.6.35.11-83.9.amzn1.x86_64 #1 SMP Sat Feb 19 23:42:04 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux 

PHP 5.3 :

PHP 5.3.8 (cli) (built: Sep 25 2011 11:33:49) 

아파치 2.2 :

 
    [short_open_tag] => Array 
     (
      [global_value] => 1 
      [local_value] => 1 
      [access] => 6 
     ) 
하십시오 .PHP 파일 echo "<pre>";print_r(ini_get_all());die(); 배치

Server version: Apache/2.2.20 (Unix) 

은 다음과 제공

,103,210 알려줍니다 short_open_tagson 있습니다

egrep -Ri 'short_open' . 
./php.ini:; short_open_tag 
./php.ini:short_open_tag = On 

감사 답변에 대한 많은! 나는 PHP 코드가 파싱되지 않는다고 말하고 있습니다. 아파치에 대한 PHP 지원이 없었던 것처럼 작동합니다. short_open_tags가 비활성화 된 상태에서 writting을 시도해보십시오. <? echo foo() ?>이 정상적으로 작동합니다. 아파치 로그에 오류가 없습니다.

짧은 태그는 권장되지 않지만 큰 CodeIgniter 프로젝트에서 사용되는 것으로 알고 있습니다. 변경할 수 없습니다. anyoen은 무엇이 실패 할 수 있는지 알고 있습니까?

고급 Thx!

+10

"작동하지 않음"을 정의하십시오. 귀하의 질문은 실제로 일어나고있는 것을 진술하지 않습니다. –

+2

무엇이 오류입니까? 우리가 보여 주신 모든 것은 작동해야 할 것입니다 : http://codepad.org/74Gtq53l –

+1

그리고'foo()'는 인쇄 가능한 값을 반환합니까? ''직장? – JJJ

답변

2

로컬 플래그는 phpinfo()에서 약속 한 것과 다를 수 있습니다. PHP 설정은 .htaccess 또는 .user.ini 개의 파일을 통해 재정의 될 수 있습니다.

실제로 활성화되어있는 조사하려면 템플릿 스크립트에서이 추가

<?php print_r(ini_get_all()); ?> 

여기 사람이 시스템에 무슨 일이 일어나고 있는지 이야기하는 것이 불가능하다. 직접 디버깅해야합니다.

관련 문제