PHP 짧은 태그 허용하기

(PHP 짧은 태그 사용에서 넘어옴)

1 개요[ | ]

PHP short_open_tag 허용
PHP 짧은 태그 허용
PHP 짧은 태그 사용
  • 짧은 태그를 허용하지 않는 것이 PHP 설정 기본값이다. ★
  • 사용하지 않는 것이 좋다.
  • 한편, PHP echo 단축 태그( <?= ... ?> )는, PHP 짧은 태그( <? ... ?> )와는 다른 것으로 구분되어, 여전히 사용 가능하다. ★
  • 짧은 태그 표현( <? ... ?> )은 다음과 같은 XML 표현과 겹쳐 혼동될 수 있다.
xml
Copy
<?xml version="1.0" encoding="UTF-8"?>
  • 그럼에도 불구하고 옛날 소스코드를 실행시켜보기 위한 목적 등으로 필요한 경우가 있을 수 있다.
  • 짧은 태그를 쓰려면 아래의 방법대로 하면 된다.

2 php 실행 확인[ | ]

Console
Copy
[root@zetawiki ~]# cat long.php
<?php echo "hello\n"; ?>
[root@zetawiki ~]# cat short.php
<? echo "hello\n"; ?>
Console
Copy
[root@zetawiki ~]# php long.php
hello
[root@zetawiki ~]# php short.php
<? echo "hello\n"; ?>
→ 긴 태그(long.php)는 제대로 작동하지만, 짧은 태그(short.php)는 제대로 작동하지 않는다.

3 php.ini 확인/수정[ | ]

Console
Copy
[root@zetawiki ~]# cat /etc/php.ini | grep ^short_open_tag
short_open_tag = Off
Console
Copy
[root@zetawiki ~]# cp /etc/php.ini /etc/php.ini.old
[root@zetawiki ~]# sed -i "s/short_open_tag = Off/short_open_tag = On/g" /etc/php.ini
[root@zetawiki ~]# diff /etc/php.ini.old /etc/php.ini
229c229
< short_open_tag = Off
---
> short_open_tag = On

4 PHP 실행 확인 2[ | ]

Console
Copy
[root@zetawiki ~]# php long.php
hello
[root@zetawiki ~]# php short.php
hello
→ 이제 short.php 도 잘 실행된다.

5 아파치 재시작[ | ]

PHP 설정(php.ini) 변경이 실제 웹에 반영되게 하려면 아파치를 재시작해야 한다.

Console
Copy
[root@zetawiki ~]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

6 같이 보기[ | ]

7 참고[ | ]

편집자 J Jmnote Jmnote bot
  • PHP 파일 다운로드 구현 2 (한글 파일명 지원)
    제가 파일다운로드 관련된 것이 서툴러서 파일 다운로드 부분을 인용하였습니다. 죄송합니다.
  • PHP에서 오라클 DB 사용
    감사합니당. YoWu
  • PHP 파일 업로드 구현
    파일정보 출력에서 $name $ext 가 정상적으로 출력되나요? 전부 echo의 쌍따옴표안에 있는데? 일리단사오육칠
  • PHP 파일 업로드 구현
    PHP echo에서 쌍따옴표 안의 변수는 해석되어 출력됩니다. 위 소스에서도 $name와 $ext가 두껍게 나와있죠? 일반 문자열과는 다르다는 표시죠.J Jmnote
  • PHP 파일 다운로드 구현 2 (한글 파일명 지원)
    'Windows NT 6.1' << 이부분은 접속한 윈도우의 플랫폼을 뜻하는걸로 압니다. ie11 접속하면 다음과 같이 바뀌었고 Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko rv:11.0 << 이부분이 Anmkst
  • Lib my.php
    Fatal error: Uncaught Error: Call to undefined function insert_rows() in D:\xampp\htdocs\naru\import_excel.php:38 Stack trace: #0 {main} thrown in D:\xampp\htdo 신정섭
  • Lib my.php
    함수 query()를 사용하면 됩니다. 예시 추가했으니 참고바랍니다.J Jmnote
  • 로또번호 생성
    초보를 위한 개발 실습 과제로군요 ㅎㅎ Pinkcrimson