>  기사  >  백엔드 개발  >  PHP 설치 패키지 다운로드에 관해

PHP 설치 패키지 다운로드에 관해

零到壹度
零到壹度원래의
2018-03-22 15:13:074692검색

이제 PHP 공식 웹사이트에서 다운로드한 PHP 설치 패키지에는 모두 VC11 또는 VC9라는 단어가 있습니다. 어떤 설치 패키지를 더 잘 다운로드해야 할까요? 실제로 PHP 공식 웹사이트에서 이에 대한 답변을 제공합니다.
VC6 버전은 Visual Studio 6 컴파일러를 사용하여 컴파일됩니다. PHP가 Apache로 빌드된 경우 VC6 버전을 선택해야 합니다. (현재 PHP용 VC6은 없습니다).
VC9는 이 버전의 PHP가 Visual Studio 2008로 컴파일된 반면 VC11은 Visual Studio 2012로 컴파일되었음을 의미합니다. 즉, VC9 버전을 다운로드하는 경우 Visual Studio 2008 SP1용 Visual C++ Redistributable을 먼저 설치해야 합니다. VC11 버전을 다운로드하는 경우 Visual Studio 2012용 Visual C++ Redistributable을 먼저 설치해야 합니다.
PHP를 빌드할 때 먼저. 운영 체제 버전을 확인하세요. Windows의 경우 여기에서 다운로드하세요. http://windows.php.net/download/

운영 체제가 32비트인가요, 아니면 64비트인가요? 32비트인 경우 "x86" 버전을 선택하고, 64비트인 경우 "x64" 버전을 선택합니다. 그렇다면 WEB 서버란 무엇인지 살펴볼까요? IIS 시리즈라면 "Non Thread Safe" 버전을 선택하세요. Apache httpd 시리즈라면 "Thread Safe" 버전을 선택하세요. Apache httpd인 경우 바이너리 버전이 컴파일되는 방식에 따라 달라집니다. VC6, VC9 및 VC11(각각 Visual C++ 6, Visual C++ 2008 및 Visual C++ 2012를 나타냄)의 세 가지 컴파일 유형이 있습니다. 문제는 다음과 같습니다. PHP의 최신 공식 버전인 5.5는 VC11로 컴파일되었고, 5.4는 VC9로 컴파일되었습니다. 그러나 최신 버전의 Apache httpd는 여전히 VC6으로 컴파일됩니다. 이는 놀라운 사실을 의미합니다. Apache httpd의 공식 버전과 PHP의 공식 버전은 실제로 호환되지 않습니다! 그렇다면 Windows에서 기존 Apache+PHP는 어떻게 작동합니까? VC11을 사용하여 Apache httpd를 직접 컴파일할 수 있지만 이는 너무 많은 문제입니다. PHP는 공식적으로 Apache httpd의 타사 패키지 버전을 다운로드할 것을 권장합니다: http://www.apachelounge.com/download/. 설명할 필요가 있습니다. 이 VC11은 XP를 지원하지 않습니다. 저처럼 XP에 대한 향수가 있다면 5.4.24로만 업그레이드할 수 있습니다. 5.5는 VC11과 함께 컴파일되며 VC11은 XP와 2003을 지원하지 않습니다.

Linux를 사용하는 경우 여기에서 PHP 소스 코드를 다운로드하세요: http://cn2.php.net/downloads.php

위의 Windows 버전과 달리 여기에서 다운로드하는 것은 직접 사용할 수 없습니다. PHP의 소스 코드를 설치하려면 직접 컴파일해야 합니다. 컴파일하려면 gcc 및 make와 같은 컴파일 소프트웨어를 설치해야 합니다. 문서에서 ./configure, make, make install이 PHP의 소스 코드 버전을 참조한다는 것을 보았습니다.

PHP를 직접 컴파일하는 것은 훨씬 더 번거로운 일입니다. 종속 라이브러리도 많고 사람들이 빠지기를 기다리는 함정도 많습니다. 이에 대해서는 다른 글에서 다루겠습니다. 문제가 있다고 생각되면 컴파일된 버전, 특히 각 배포판의 공식 소프트웨어 라이브러리를 찾을 수 있습니다. 다음은 널리 사용되는 우분투 시스템과 Centos 시스템을 각각 예시로 사용합니다.

deb 패키지 관리 스타일(ubuntu, Debian)

많은 결과를 검색하려면 apt-cache search php 명령을 사용하세요. php5",complete 명령은 다음과 같습니다: apt-get install php5
명령에 버전 번호 5가 포함되어 있고 앞으로 PHP6에 어떤 일이 일어날지 아무도 모르기 때문에 항상 적용 가능한 것은 아닙니다.
쉘에 명령줄 PHP 엔진을 설치하려면 이 패키지를 설치하세요.
apt-getinstall php5-cli

RPM 패키지 관리(Fedora, RedHat, SUSE, CentOS)
yuminstall php
php인 경우 명령줄에서 yuminstall php-cli

를 설치하세요.

Thread Safe 버전과 Non ThreadSafe 버전을 선택하는 방법은 무엇입니까?
버전 5.2.1부터 Windows 버전의 PHP는 ThreadSafe(스레드 안전)와 None Thread Safe(NTS, 비스레드 안전)로 구분됩니다. 둘의 차이점은 무엇인가요? 어느 것을 사용해야 합니까? 여기에 간략한 소개가 있습니다.

2000년 10월 20일에 출시된 PHP 3.0.17의 첫 번째 Windows 버전부터 모든 버전은 스레드로부터 안전합니다. 이는 다중 프로세스 작업 방식을 사용하는 Linux/Unix 시스템과 달리 Windows 시스템이 다중 프로세스를 채택하기 때문입니다. 스레드 작업 방법. IIS에서 CGI 모드로 PHP를 실행하면 속도가 매우 느려집니다. 이는 CGI 모드가 다중 스레드가 아닌 다중 프로세스를 기반으로 하기 때문입니다. 일반적으로 ISAPI 모드에서 실행되도록 PHP를 구성합니다. ISAPI는 훨씬 빠른 다중 스레드 모드입니다. 그러나 일반적으로 사용되는 많은 PHP 확장은 Linux/Unix의 다중 프로세스 사고를 기반으로 개발되었습니다. 이러한 확장이 ISAPI 모드에서 실행되면 잘못되어 IIS가 다운됩니다. 따라서 CGI 모드는 IIS에서 PHP를 실행하는 가장 안전한 방법이지만 CGI 모드는 각 HTTP 요청에 대해 전체 PHP 환경을 다시 로드하고 언로드해야 하며 그 소비가 엄청납니다.

IIS에서 PHP의 효율성과 보안을 고려하기 위해 Microsoft는 FastCGI 솔루션을 제공했습니다. FastCGI를 사용하면 새로운 요청이 있을 때마다 프로세스를 다시 여는 대신 PHP 프로세스를 재사용할 수 있습니다. 동시에 FastCGI에서는 여러 프로세스를 동시에 실행할 수도 있습니다. 이는 CGI 프로세스 모드의 과도한 사용 문제를 해결할 뿐만 아니라 CGI 프로세스 모드에 스레드 안전 문제가 없다는 사실도 활용합니다.

​ 먼저 문자 그대로 이해하면 Thread Safe는 스레드 안전성이며, 새로운 요구 사항이 있고 시스템 리소스가 소진될 때 CGI 실행이 새 스레드를 시작하지 못하도록 실행 중에 스레드(스레드) 안전 검사가 수행됩니다. Non Thread Safe는 스레드로부터 안전하지 않으며 실행 중에 스레드(Thread) 안전 검사를 수행하지 않습니다.

따라서 ISAPI를 사용하여 PHP를 실행하는 경우 ThreadSafe(스레드 안전) 버전을 사용해야 하며 FastCGI 모드를 사용하여 PHP를 실행하는 경우 스레드 안전 검사를 사용할 필요가 없으며 None Thread Safe(NTS, 스레드 안전이 아닌) ) 버전은 효율성을 더 향상시킬 수 있습니다.


PHP의 두 가지 실행 방법인 ISAPI와 FastCGI를 살펴보겠습니다.

ISAPI 실행 방법은 DLL 동적 라이브러리 형태로 사용되며 사용자가 요청한 후에 실행될 수 있으므로 사용자 요청을 처리한 후 즉시 사라지지 않으므로 실행 효율성을 높이기 위해 스레드 안전성 검사가 필요합니다. 따라서 ISAPI를 사용하여 PHP를 실행하는 경우 Thread Safe 버전을 선택하는 것이 좋습니다.

FastCGI 실행 방법은 단일 스레드를 사용하여 작업을 수행하므로 스레드 안전 검사를 수행할 필요가 없습니다. 스레드 안전 검사를 보호하면 실행 효율성이 향상될 수 있으므로 FastCGI를 사용하여 PHP를 실행하는 경우 Non Thread Safe 버전을 선택하는 것이 좋습니다.

위 내용은 PHP 설치 패키지 다운로드에 관해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.