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
글 걸기 주소 : 이 글에는 글을 걸 수 없습니다.

덧글을 달아 주세요