php <?= 표기에 대해서
글쓴이: negabaro / 작성시간: 수, 2014/12/03 - 12:43오후
php 5.4.30인 서버에서 사용되는 코드가 php 5.3코드에서 실행이 안됩니다.
버전문제인지 아니면 어떤 설정문제인지 확인할 수 있을까요?
사용안되는 코드: <?=$인수 ?>
●PHP 5.3.3
실패
<html> <?=$column_tempHtml ?> </html>
이렇게 사용하면 가능
<html> <?php echo "$column_tempHtml"; ?> </html>
●PHP 5.4.30
5.4에선 가능
<html> <?=$column_tempHtml ?> </html>
Forums:
http://php.net/ini.core#ini.s
http://php.net/ini.core#ini.short-open-tag
<?=$var?>위의 표현은 5.3 까지는
위의 표현은 5.3 까지는 php.ini의 short_tags 옵션에 영향을 받습니다. 즉, short_tags가 off일 경우에는 사용할 수 없다는 얘기입니다. 하지만 php 5.4 부터는 short_tags가 off이더라도 위의 표현을 할 수 있도록 개선이 되었습니다.
그러므로, 님의 경우에는 php 5.4에서는 short_tags가 off이더라도 정상 동작했겠지만 5.3에서는 short_tags가 off이므로 동작을 하지 않는 것입니다.
그러므로, 5.3에서는 short_tags를 on을 해 주시든지 또는 아래의 patch를 적용해서 5.3을 빌드하시면 됩니다. (아래 패치는 안녕 리눅스의 PHP에 적용되어 있는 patch로 5.4의 기능을 back porting 한 것입니다.)
!!
와..정말감사합니다!!
댓글 달기