서문
작곡기와 네임스페이스를 사용하는 수많은 프레임워크로 인해 온라인 환경은 지난 7월 PHP7 출시를 계기로 이전 5.3에서 5.4, 5.5, 심지어 5.6으로 점차 변화하고 있습니다. 더 많은 회사가 새 버전을 채택할 것입니다.
버전별 차이점을 설명하기 위해 예전부터 이런 글을 쓰고 싶었는데, 이번에 드디어 때가 됐네요.
이것이 첫 번째 글이고 현재 3개의 글을 쓸 예정입니다
그것은 한편으로는 자신의 지식을 정리하는 것이고, 다른 한편으로는 자신을 발전시키는 것입니다.
공식 설명
공식 문서 주소 http://php.net/ChangeLog-5.php#5.4.0
상세 설명
03월 1일 2012
원본 텍스트
- 이제 ./buildconf를 사용하여 구성 스크립트를 생성하는 데 autoconf 2.59+가 지원되고 필요합니다. 그렇지 않으면 구성 도움말이 바람직합니다. 순서가 정확하지 않을 수 있습니다.
번역
autoconf 2.59+는 이제 구성 스크립트/buildconf 생성을 지원(필요)합니다. autoconf 2.60+는 이상적인 구성입니다. 그렇지 않으면 올바르지 않을 수 있습니다.
autoconf
PHP는 컴파일 및 설치 시 종속 소프트웨어가 필요하므로 성능을 보장하려면 새 버전에 대한 지원 소프트웨어를 최신 버전으로 교체해야 합니다~
제거된 레거시 기능 제거된 기능
원본 텍스트
break/continue$ var 구문. 안전 모드 및 모든 관련 INI 옵션.
- break/continue $var 구문
- 안전 모드 및 모든 관련 ini 옵션
- register_globals 및register_long_arrays ini 옵션.
- import_request_variables().
- allow_call_time_pass_reference.highlight.bg ini 옵션.
- 세션 버그 호환 모드(session.bug_compat_42 및 session.bug_compat_warn) ini 옵션).
- session_is_registered(), session_register() 및 session_unregister() 함수.
- y2k_compliance ini 옵션.
- magic_quotes_gpc, Magic_quotes_runtime 및 Magic_quotes_sybase ini 옵션 get_magic_quotes_gpc, get_magic_quotes_ 런타임 유지되지만 항상 false를 반환하는 경우 set_magic_quotes_runtime은 E_CORE_ERROR를 발생시킵니다.
- 시간대 설정을 위한 putenv(“TZ= ..”)에 대한 지원을 제거했습니다.
- 시간대에 해당하는 경우 시간대 추측 알고리즘을 제거했습니다. date.timezone 또는 date_default_timezone_set()으로 설정되지 않았습니다. 이제 추측된 시간대 대신 "UTC"가 대신 사용됩니다.
- 는
break/continueregister_globals 및 Register_long_arrays INI 옵션.
- import_request_variables().
- allow_call_time_pass_reference.
- define_syslog_variables INI 옵션 및 관련 기능입니다.
- highlight.bg INI 옵션.
- 세션 버그 호환 모드(session.bug_compat_42 및 session.bug_compat_warn INI 옵션).
- session_is_registered(), session_register() 및 session_unregister() 함수.
- y2k_compliance INI 옵션.
- magic_quotes_gpc, Magic_quotes_runtime 및 Magic_quotes_sybase INI 옵션. get_magic_quotes_gpc, get_magic_quotes_runtime은 저장하지만 항상 false를 반환하고, set_magic_quotes_runtime은 e_core_error를 발생시킵니다.
- Putenv("TZ=..") 시간대 설정은 더 이상 지원되지 않습니다.
- 시간대가 설정되지 않은 경우 추측 알고리즘은 date.timezone 또는 date_default_timezone_set()을 사용하여 제거됩니다. 시간대를 추측하는 대신 이제 "UTC"가 대신 사용됩니다.
- 바이두 번역을 사용했는데 말도 안되는 소리를 하게 될까요? =_=
break/continue $var 구문 제거
5.4 이전에는 다음 매개변수를 전달하여 브레이크아웃을 제어하거나 중지할 수 있었습니다. 그러나 버전 5.4.0 이후에는 이 기능이 제거되었습니다. break 및 continue는 분할하거나 계속해야 하는 중첩 루프 수를 지정하는 숫자를 허용합니다.<code><span>break</span><span>$c</span>; <span>continue</span><span>$c</span>;</code>참조
http://stackoverflow.com/questions/6517401/what-is-the-break-continue-var-syntax-will-be-removed-in-php-5-4 http://php.net/control-structures.break
보안 조치 및 안전 모드, 즉 php.ini의 safe_mode 관련 구성 항목이 모두 제거됩니다
안전 모드에서 제한하거나 차단하는 기능. 안전 제한 모드에서는 일부 기능을 사용할 수 없습니다. 이 제한 사항도 제거됩니다
http://php.net/manual/zh/features.safe-mode .php
register_globals 및register_long_arrays ini 옵션.성능 문제로 인해 이 두 구성 항목이 제거되었습니다.
참고자료
import_request_variables()
import_request_variables — GET/POST/쿠키 변수를 전역 범위로 가져옵니다.
bool import_request_variables( string
type s[,string 위 내용은 관련 내용을 포함하여 PHP540 버전 ChangeLog(1부)에 대한 자세한 설명을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.