<?php <== 질문드려요
본문
오늘 서버 이전하고 이상하게.. 여러가지가 안되더라구요
그래서 봤더니
예전에는
<?
소스
?>
이렇게 해도 됐었는데요 서버이전하고 나서 이전한 서버에서는 무조껀
<?php
소스
?>
이렇게 php 를 붙여줘야 작동을 하더라구요
그리고 예전에는 <?=$member[mb_id]?>
이렇게 됐엇는데요 지금은 <?php echo $member[mb_id]?>
이렇게해야 되더라구요?
이건 서버에서 어떤 부분때문에 이렇게 되는지와? php 이건 왜 붙여야 하는지좀 알 수 있을까요?
수정하려니 엄청 많아서요 ㅜㅜ
답변 4
php 버전에 따라서 기본 설정이 달라져서 그렇습니다.
이전 버전(php 5.3 이전 버전)의 경우는
기본적으로 <? ?> 을 사용 가능하도록 설정이 되어 있었습니다.
즉, php에 관한 설정을 하는 php.ini라는 파일에서 short_open_tag = On 으로 설정이 되어 있어서
<? ?>로만 사용하는 것이 가능하였지만
이후 버전에서는 이 부분에 대한 설정이 short_open_tag = Off 로 기본 설정이 되어서
<? ?>로는 사용이 안되지만
굳이 사용하시려면 On으로 설정한 다음에 아파치 서버를 재시작 하면 사용 가능하지만 권장하지 않는 사항입니다.
그 이유는 xml과의 충돌이 있을수 있기 때문인데요.
이 부분에 대한 설명은 https://zetawiki.com/wiki/PHP_%EC%A7%A7%EC%9D%80_%ED%83%9C%EA%B7%B8_%ED%97%88%EC%9A%A9%ED%95%98%EA%B8%B0 를 참조하시면 됩니다.
php.ini에서 short_open_tag 속성을 켜세요.
그냥 서버 설정 이 그러게 되어있는 겁니다