2012-04-04 2 views
2

내가 프로젝트에서 PHP 선언에 대해 상당히 진보적 정책을 사용했다고 생각 - 나는 언제나 사용했습니다 :이유는 무엇 선언해야 할 <PHP

<? // here is my php code ?> 

난 그냥 설정을 FastCGI에서 PHP-FPM을 사용하는 nginx 서버와 이제 명시 적으로 선언해야합니다 :

<?php // here is my php code ?> 

변경할 방법이 있습니까? (그렇지 않으면 나는 내 프로젝트에 들어가서 이것이 일어나는 모든 인스턴스를 찾고 대체해야하기 때문에).

+6

[short_open_tag] (http://www.php.net/manual/en/ini.core.php#ini.short-open-tag), 사용하지 않는 것이 좋지만 ... –

+0

@Michael , 5.4 버전에서 항상 사용할 수 있습니다. 네, 사용하는 것이 좋습니다. –

+6

@drgomesp 올바르지 않음 - 5.4에서는'short_open_tag'가 기본적으로 꺼져있는 반면 출력 요약은'

답변

13

short open tags을 php.ini 구성 파일을 통해 활성화해야합니다. 그러나 PHP를 사용하여 XML을 동시에 사용하는 경우 충돌이 발생합니다.

PHP6의 단축 태그가 지원되지 않으므로 good article이 발견되었습니다.

+0

나는 새로운 버전의 PHP가 짧은 태그를 사용하지 않고 있다는 캐비닛을 추가 할 것입니다. 따라서 태그를 사용해야합니다. 당신이 좋아하든 그렇지 않든. 또한 그렇게하기가 어렵지 않으므로 왜 불평하고 있습니까? – pthurmond

+0

그렇게하는 것이 어렵지는 않지만, 적절한 선언문을 위해 짧은 태그가 사용 된 레거시 프로젝트를 마이그레이션하는 것은 성가신 일입니다. – jpea

+0

심각하게? 내가 너라면, 코드 파일 편집기 (메모장 ++과 같은)에서 모든 파일을 열어서 모든

5

php.ini로 이동하여 short_open_tag 옵션을 찾으십시오. On으로 설정하십시오. 이렇게하면 문제가 해결됩니다.

+0

1 분에 4 개의 답변 ... 멋진 ... –

1

PHP 스크립트 같은 것은 없습니다. PHP 코드 블록이 포함 된 파일 만 있습니다. <?php (또는 단축 태그가 활성화 된 경우 <?)으로 PHP 코드 블록을 시작해야합니다 (). 이 문제를 해결할 방법이 없습니다. 오픈 태그가 없으면 PHP 인터프리터는 'cat'의 매우 비싼 버전으로 작동합니다.

1

짧은 답변을 사용하는 방법에 대한 답변은 정확하지만 반대하는 것이 좋습니다. 작성한 코드가 컴퓨터에서만 실행되는 것은 아니라고 생각하십시오. 코드를 배포하거나 프로덕션 서버에 배포하려는 경우 태그를 열 때 항상 <?php을 사용해야합니다. 그러면 코드가 실행되지 않고 해당 문제 해결과 관련된 문제가 최소화됩니다.

관련 문제