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 시켜줄 경우 아래와 같이 설정 후 아파치를 재시작 해주시면 된다.
<Directory "/home/*/public_html/">
Options FollowSymLinks
AllowOverride None
php_value short_open_tag 0
</Directory>
</VirtualHost>