편집자: Maizi
PHP 버전을 선택할 때 다들 헷갈리실 텐데요. 어떤 버전을 선택해야 할까요?
질문:
이제 Windows Server 2008 r2를 사용하여 새 서버를 구입했습니다. PHP 5.4 환경을 구성합니다.
그런데 개발하기 전에는 2003과 PHP 버전 5.2를 사용했는데, 새 서버에 이식하면 프로그램 실행에 영향이 있을까요? 아니면 주의해야 할 다른 문제가 있나요?
API 버전
PHP는 주요 버전에 대해 이전 버전과 호환되는 업그레이드 방법을 채택합니다. 이는 5.5가 5.1-5.4와 호환된다는 것을 의미합니다. 하지만 호환성은 실제로 낙관적이지 않으며 PHP 관계자로부터 좋은 솔루션을 기대해서는 안됩니다. 2013년 9월 현재 버전은 5.2.17 5.3.27 5.4.17 5.5.3
5.2.17
이 버전은 현재 가장 널리 지원되는 버전이라고 할 수 있습니다. Drupal7.23, Joomla2.5와 같은 대부분의 오픈 소스 소프트웨어와 dedecms5.7, discuzX3 등과 같은 대부분의 국내 소프트웨어는 여전히 이 버전을 사용합니다. 5.2를 지원하는 경우 특별한 요구 사항이 없는 경우 이 버전을 설치하는 것이 가장 문제가 없고 노동력을 절약하지만 장기적으로는 결국 중단될 수 있습니다. 요즘 많은 호스팅 회사에서는 인건비 절감을 위해 PHP 버전 업그레이드를 게을리하고, 기본적으로 지원하고 있습니다. (여기에 한마디를 입력하세요. 더 많은 설치 환경과 호환되도록 하기 위해 이제 국내 소프트웨어는 매우 선의로 되어 있습니다. PHP5.1도 지원합니다(discuzX3는 지원하지 않습니다). 가장 드문 것은 성능이 좋지 않다는 것입니다. 훨씬 뒤떨어져 있고 이것을 할 수 있습니다. 정말 쉽지 않습니다!) Drupal6은 이 버전을 사용하는 것이 좋습니다.
5.3.28(권장)
이 버전의 이름은 5로 시작하지만, 많은 사람들이 PHP 6.0 버전의 시작이라고 생각합니다. 성능이 향상되었고 많은 API가 변경되었기 때문에 5.2와의 호환성은 그다지 좋지 않습니다. 5.2~5.3까지 호환이 되지만 문제가 많아 그냥 5.2를 포기하는 경우도 많은 것 같습니다. 예를 들어 Joomla3는 5.3 이상만 지원합니다. Drupal7의 경우 이 버전을 사용하는 것이 좋습니다. 지원이 상당히 좋습니다. 이 버전은 Drupal8에도 사용할 수 있으며 지원이 상당히 좋습니다. 이 버전은 널리 사용되며 성능과 호환성 사이의 적절한 균형을 유지합니다.
5.4(부드럽게 권장)
5.4는 기본적으로 거의 완성되었으며, Drupal7의 안정성도 좋습니다. 나중에 업그레이드하기가 너무 게으른 경우 한 단계로 이 버전을 설치할 수 있습니다.
5.5
5.3부터 향후 버전은 기본적으로 성능 향상에 중점을 두고 기능 및 기타 기능은 하위 호환될 예정입니다. 5.5부터 좀 더 강력한 성능을 갖춘 64비트 버전이 나오는 것 같은데, 아직 시도해본 적도 없고 감히 언급할 수도 없습니다.
요약
오픈 소스 소프트웨어에서 PHP5.3 설치를 권장한다면 5.5 대신 5.3을 사용해야 합니다. 어쨌든 호환되고 성능이 더 좋을 것이라고 생각할 수도 있는데 새로운 것을 사용하는 것은 어떨까요? 그렇게 말하지만, 오픈소스 소프트웨어는 개발할 때 대개 특정 환경에서 개발된다는 사실을 알고 계실 겁니다. 아무리 호환성이 좋아도 예상치 못한 놀라움이 있을 것입니다(팀이 아무리 강력해도 불가능합니다). 모든 기능 API에 대해 호환성 테스트를 수행하면 작업 부하가 상당히 끔찍합니다!) 특정 환경에서만 테스트 및 최적화되며 호환성 문제가 있음을 알고 있어도 팀에서는 더 높은 버전과 호환되도록 수정하지 않습니다. 딱딱한 것은 아니지만 안전성과 안정성을 고려한 제품입니다. 오픈소스 분위기에서는 “최신 것이 최고”가 아닌 “충분한 것이 최고”라는 인식을 가져야 합니다. 예를 들어 Joomla 3.1은 5.4~5.5에서는 제대로 실행되지 않고 설치조차 성공하지 못합니다. 하지만 Drupal은 (이 시스템에서는) 5.5.3에서 정상적으로 실행됩니다. 그런데 작동 중에 예상치 못한 오류가 발생한 것 같습니다. 버전 문제인지는 모르겠습니다.
스레드에 안전하지 않거나 스레드에 안전하지 않음
Apache는 일반적으로 스레드로부터 안전하지 않은 것을 선택하고 IIS는 후자(FAST-CGI)를 선택합니다. Xin 형제님이 옳다는 것은 설명하지 않겠습니다.
Script House 편집자는 다음과 같이 덧붙였습니다. 2003 시스템에서는 일반적으로 isapi를 사용하여 로드합니다. 2008 이상 시스템에서는 fast-cgi를 사용합니다.
64비트 및 32비트 선택 문제
시스템이 64비트라면 64비트를 선택하세요. 시스템이 32비트라면 32비트를 선택하세요. Xin님.
Script House 편집자는 다음과 같이 덧붙였습니다. 많은 경우 iis에 로드해야 하는 모든 소프트웨어가 64비트라고 보장할 수 없으며 일부 소프트웨어는 32비트 형식과 호환되어야 합니다.
원래 웹사이트 주소는 다음과 같습니다: http://cnmaizi.com/tech/php-version.html