PHP 5.3에서 <?를 <?php로 써야 하는 문제

  PHP에는 다음처럼 처음과 끌을 알리는 <?php와 ?>이 들어간다.

<?php

print "Hello World!";

?>

  PHP 5.2까지는 <?php 자리에 <?를 대신 쓸 수 있었으나, PHP 5.3부터는 기본 상태에서는 <?를 쓰면 PHP로 받아들이지 않는다. 그래서 PHP 5.3 이상에서는 그 동안 <?를 앞세웠던 PHP 풀그림들이 작동하지 않는다.

  PHP 5.3 이상에서 <?를 쓸 수 있게 하려면, php.ini에서 short_open_tag 항목을 찾아 'Off'로 되어 있는 값을 'On'으로 바꾸어 준다.주1

short_open_tag = On


  php.ini가 있는 정확한 경로는

<?php

phpinfo();

?>


로 알 수 있다.


※ PHP 5.4에서는 short_open_tag의 기본값이 다시 On으로 바뀌어서 이전처럼 <?php와 <?를 모두 쓸 수 있다. (http://php.net/manual/en/ini.core.php#ini.short-open-tag)
<주석>
  1. php.ini는 대개 리눅스에서는 /etc/, 윈도에서는 /Windows/에 있다. 서버 관리 권한이 없는 일반 웹호스팅 계정에서는 php.ini를 고치려면 괸라지의 도움을 받아야 한다. back
2011/12/22 14:14 2011/12/22 14:14
얽힌 글타래
<셈틀말> 글갈래의 다른 글
글 걸기 주소 : 이 글에 다른 글을 걸 수 없습니다

덧글을 달아 주세요