php 정규식 질문있습니다.
본문
보통 php 시작부분을 <?php 로 하는데요
<?php 와 <?= 의 차이가 무엇일까요?
그리고 오토셋 로컬 서버에서는 <? } else { ?> 이걸 제대로 인식하는데
우분투 서버에서는<? } else { ?> 이렇게 하면 인식을 못합니다.
<?php } else { ?> 이렇게 해줘야 하는데요. 이유가 뭘까요?
답변 1
서버 php.ini 설정문제입니다.
short_open_tag = On 으로 되어 있으면 <?php 와 <? 둘다 사용 가능하지만
short_open_tag = Off 로 되어 있으면 반드시 <?php 이렇게 사용해야 합니다.
그리고 <?= 이 부분은 <?php echo 와 같은 말입니다.
<? 이게 <?php 이거와 같은 거고요.
서로 의미는 같지만 서버 short_open_tag 옵션에 따라 사용 가능 유무가 결정되는 겁니다.
오토셋은 short_open_tag 옵션이 On 으로 세팅돼서 설치되기 때문에 문제가 없는 거고
안 되는 서버는 아마 저 옵션이 Off 로 되어 있을 겁니다.
On 으로 바꾸고 서버 재시작하면 둘 다 사용 가능합니다.
답변을 작성하시기 전에 로그인 해주세요.