php 정규식 질문있습니다.

php 정규식 질문있습니다.

QA

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 으로 바꾸고 서버 재시작하면 둘 다 사용 가능합니다.

답변 감사합니다.
php 설정에서 숏태그를 ON 으로 해놓으면 정규식이 숏이던 일반이던
모두 사용할수 있는거군요..

근데 작은별님 갑자기 궁금해서 그러는데
숏태그 On 이 호환성이 더 좋은데 왜 Off 옵션이 있는건가요?

더 짧기도 하고 예전 코드들은 다 저렇게 해둔 게 많고 호환 문제 때문에 수정하기도 번거롭고 그래서
편의상 On으로 두고 사용하는데 자세한 건 저도 모르지만 Off로 해놔야 보안상 더 좋다고 하네요.
대부분 On으로 사용할 겁니다. Off로 된 웹호스팅은 아직까지 본 적이 없었네요.
근데 정규식이라는 용어는 이런 대화에 언급될 용어는 아닙니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,726 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT