Tip & Tech/php

unexpected T_STRING error

변기환 2010. 3. 2. 21:34

서버를 이전하고 몇몇 싸이트의 특정 파일에 아래 내용이 들어가 있을 때 에러가 발생했다.

 <?xml version="1.0" encoding="iso-8859-1"?>

에러의 내용

Parse error: syntax error, unexpected T_STRING in /usr/local/www/munin/index.html  on line 1

이 경우 php.ini 설정 파일에 short_open_tag 가 On 일때 발생하는 문제이며, short_open_tag 는 <? ?> 형태의 태그 형식을 사용 할수 있도록 해주고 Off 로 설정시 <?php ?> 와 <script> 같은 형태의 태그만 허용 시켜준다.

unexpected T_STRING 에러는 short_open_tag = Off 로 변경 해주시면 해결 된다. 하지만 이 경우에는 <?=$XXX?> 같은 short_open_tag 를 사용하지 못하기 때문에 더 많은 에러를 발생 시킨다.

short_open_tag 를 Off 한 환경에서 가상 호스팅 사용자에게만 On 시켜줄 경우 아래와 같이 설정 후 아파치를 재시작 해주시면 된다.

<VirtualHost *:80>
<Directory "/home/*/public_html/">
       Options FollowSymLinks
       AllowOverride None
       php_value short_open_tag 0
       </Directory>
</VirtualHost>