Programing

PHP 짧은 태그를 활성화하는 방법은 무엇입니까?

lottogame 2020. 3. 14. 10:01
반응형

PHP 짧은 태그를 활성화하는 방법은 무엇입니까?


Linux 서버에 웹 응용 프로그램이 있습니다. <?

이 응용 프로그램을 Windows 환경에 복사해야했고 SQL 문이 다르게 렌더링되는 것을 제외하고는 모든 것이 잘 작동합니다. 이 스크립트로 시작과 관련이 있을지 모르겠어요 <?php대신에 <?내가 수 있도록 위치를 알고하지 않기 때문에 <?으로부터 PHP.ini내가 그것을 변경할 수 있도록<?php

나는이 두 문장이 동일하다는 것을 알고 있지만 <?응용 프로그램이 정확히 동일한 지 확인하기 위해 테스트해야합니다 . 이 방법으로 다른 가능성을 없앨 수 있습니다.

감사


세트

short_open_tag=On

에서 의 php.ini

그리고 Apache 서버를 다시 시작하십시오.


php.ini 에서 short_open_tag활성화하면됩니다 :

short_open_tag = on

php.ini에 액세스 할 수없는 경우 .htaccess 파일 을 통해 활성화 할 수는 있지만 공유 호스팅을 사용하는 경우 호스팅 회사 에서이 기능을 비활성화 할 수 있습니다.

php_value short_open_tag 1

short_open_tags는 PHP 5.4부터<?= ... ?> 나쁜 습관 이라고 생각하는 사람들에게 shorttag는 설정에 관계없이 모든 곳 에서 지원 되므로 서버의 설정을 제어 할 수 있다면 사용하지 않을 이유가 없습니다. 이 링크에서 말했다 : short_open_tag


php.ini에서 short_open_tag를 활성화하면됩니다 :

1. php.ini 파일을 찾으려면 주석 줄에서 실행하십시오.

 php --ini

당신은 이와 같은 것을 얻을 것입니다,

Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed:      /etc/php.d/curl.ini,
/etc/php.d/fileinfo.ini,
/etc/php.d/gd.ini,
/etc/php.d/json.ini,
/etc/php.d/mcrypt.ini,
/etc/php.d/mysql.ini,
/etc/php.d/mysqli.ini,
/etc/php.d/pdo.ini,
/etc/php.d/pdo_mysql.ini,
/etc/php.d/pdo_sqlite.ini,
/etc/php.d/phar.ini,
/etc/php.d/sqlite3.ini,
/etc/php.d/zip.ini

주석 출력에서 ​​두 번째 줄을 참조하십시오. 파일은 언급 된 경로에 있습니다.

2. php.ini 파일을 열고를 찾으십시오 short_open_tag. 기본적으로로 off변경되어 on있습니다.

3. 서버를 다시 시작 하고이 주석을 실행하십시오.

service httpd restart

감사


Ubuntu의 Vagrant 설치 스크립트에서 열도록 짧은 태그를 설정하려면

sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php5/apache2/php.ini

위의 모든 답변이 부분적으로 만 올바른 것을 볼 수 있습니다. 실제로 모든 21st Century PHP 앱에는 FastCGI Process Manager (php-fpm)가 있으므로 test.php 스크립트에 php-info ()를 추가하고 php.ini의 올바른 경로를 확인하면

Go to php.ini and set short_open_tag = On

중요 : php-fpm 프로세스를 다시 시작해야 작동합니다!

sudo service php-fpm restart

마지막으로 nginx / http 서버를 다시 시작하십시오.

sudo service nginx restart

short_open_tags를 켜야합니다.

short_open_tag = On

간단하게 다음 단계를 수행하십시오.

  1. php.ini 파일로 이동
  2. 'short_open_tag'를 찾아서 켭니다.
  3. 서버를 다시 시작

그래서 short_open_tag = 켜기


CentOS 6 (Centos 7에서도 테스트)에서 php-fpm에 대해 /etc/php.ini에서 short_open_tag를 설정할 수 없습니다. 오류가 발생합니다 :

ERROR: [/etc/php.ini:159] unknown entry 'short_open_tag'
ERROR: Unable to include /etc/php.ini from /etc/php-fpm.conf at line 159
ERROR: failed to load configuration file '/etc/php-fpm.conf'
ERROR: FPM initialization failed

/etc/php-fpm.d/www.conf에있는 사이트 설정을 편집하고 파일 끝에서 작성하십시오.

php_value[short_open_tag] =  On

Ubuntu와 함께 사용 하는 경우 Apache+php5현재 버전에서 다음으로 변경해야 할 두 곳이 있습니다.short_open_tag = On

  1. /etc/php5/apache2/php.ini -웹 서버 (Apache)를 통해로드 된 페이지를위한 것입니다.
  2. /etc/php5/cli/php.ini-이 구성은 다음과 같이 명령 행에서 PHP 파일을 시작할 때 사용됩니다.- php yourscript.php수동으로 또는 cronjob이 서버에서 직접 PHP 파일을 실행합니다.

php.ini 파일을 편집하는 경우 서비스 (apache2 등)를 다시 시작하여 php.ini에 대한 편집 내용을 적용해야합니다.


Wamp Server 사용자의 경우 더 쉬운 방법이 있습니다. WampServer 아이콘을 한 번 클릭 (왼쪽)하여 한 번 클릭하여 PHP-> PHP 설정-> 짧은 열린 태그를 선택할 수 있습니다. 잠깐 기다리면 WampServer가 자동으로 PHP와 웹 서비스를 다시 시작합니다.

원래 : http://osticket.com/forums/showthread.php?t=3149


; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
;short_open_tag=Off   <--Comment this out
; XAMPP for Linux is currently old fashioned
short_open_tag = On   <--Uncomment this

xampp를 사용하면 php.ini 파일에 short_open_tag가 두 번 언급 된 것을 알 수 있습니다. short_open_tag = On 두 번째 것을 활성화하십시오. 첫 번째는 주석 처리되어 있으며 주석 처리를 제거하고 편집하고 싶을 수도 있지만 두 번째 short_open_tag에 의해 대체됩니다.


Windows에서 xampp를 사용하는 경우 다음을 수행하십시오.

  1. XAMPP 제어판을 엽니 다.
  2. CONFIG 버튼을 클릭하십시오.
  3. PHP (php.ini) 옵션으로 이동하십시오.

ctrl + f 유틸리티를 사용하여 short_open_tag 찾기

당신은 찾을 것이다 ;short_open_tag

라인에서 세미콜론 (;)제거하십시오 .

그리고 그대로 short_open_tag = on

마지막으로 Apache 서버를 다시 시작하십시오.


php-fpm을 사용하여 특정 도메인에 대해 short_open_tag를 활성화하려면 다음을 편집해야합니다.

/etc/php5/fpm/pool.d/xxxxxxxxxx.conf

여기서 xxxxx는 도메인의 소켓 번호입니다.

그리고 추가 : php_value [short_open_tag] = 켜기


sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php/7.2/apache2/php.ini

구성 파일이 저장된 디렉토리가 변경되었지만 우분투 16의 php7.2에서 작동합니다.

또한 현재 설치된 버전과 일치하도록 PHP 문자열의 버전을 변경할 수 있습니다.


 short_open_tag = On

php.ini그리고 아파치 서버를 다시 시작합니다.


AWS Centos 7 인스턴스와 php7 (PHP 7.0.33 (cli) (built : 2018 년 12 월 6 일 22:30:44) (NTS))에서 short_open_tag Off를 On으로 변경했지만 PHP 정보 페이지를 반영하지 않습니다. 그리고 코드. 그래서 나는 문서를 참조하고 내 사건에 대한 해결책을 찾습니다. short_open_tag 다음에 asp_tags = 다음에 추가 행을 추가하십시오 .Apache 를 다시 시작한 후 On 코드에서 작동하고 올바르게 출력됩니다.

php.ini 파일

engine = On

; This directive determines whether or not PHP will recognize code between
; <? and ?> tags as PHP source which should be processed as such. It is
; generally recommended that <?php and ?> should be used and that this feature
; should be disabled, as enabling it may result in issues when generating XML
; documents, however this remains supported for backward compatibility reasons.
; Note that this directive does not control the <?= shorthand tag, which can be
; used regardless of this directive. 
; Default Value: On   
; Development Value: Off     
; Production Value: Off  
; http://php.net/short-open-tag

short_open_tag = On

; Allow ASP-style <% %> tags   
; http://php.net/asp-tags
asp_tags = On

파일 모두에 asp_tags = Onand short_open_tag = On설정 한 다음 아파치 서버를 다시 시작하십시오.\apache\Apache2.2.21\bin\php.ini\bin\php\php5.3.8\php.ini

참고 URL : https://stackoverflow.com/questions/2185320/how-to-enable-php-short-tags

반응형