이 특정 게시물에서는 여러 버전의 PhalCon 및 PHP를 설치하고 단일 웹 서버에서 실행하는 솔루션을 시행 할 수 있습니다. PHP 5.5.x 및 5.6.x는 여기에서 사용되지만 다른 버전으로 교체 할 수 있습니다. PHP-FPM을 지원하는 모든 서버로는 충분하지만 Nginx를 사용하는 것이 좋습니다. 이 튜토리얼에 사용 된 환경은 Linux 시스템 인 Fedora OS이지만 지침은 다른 *닉스 OS와 거의 동일합니다.
키 테이크 아웃
Php 5.5.x 및 Fedora OS에서 5.6.x에서 입증 된 바와 같이, 단일 서버에서 여러 버전의 PHP를 실행하기 위해 Nginx 및 PHP-FPM을 사용하십시오.
소스에서 PHP를 성공적으로 구축하기 위해 GCC, Make 및 Libtool과 같은 필요한 모든 개발 도구 및 라이브러리가 설치되도록하십시오.
GitHub의 PHP 소스 코드를 복제하여 여러 PHP 버전에 액세스하고 PHP-FPM 지원을 위해`–enable-fpm`과 같은 특정 옵션을 사용하여`./configure` 스크립트를 사용하여 구성하십시오.
는 별도의 디렉토리 (`/opt/php-5.5`,`/opt/php-5.6`)에 다른 PHP 버전을 설치하고 구성하여 분리하고 충돌을 피하십시오.
서버 이름을 기반으로 트래픽을 다른 PHP 버전으로 지시하기 위해 nginx 구성을 수정하여 다른 PHP 환경이 필요한 여러 응용 프로그램을 동시 호스팅 할 수 있습니다.
예비 노트
이 튜토리얼은 Phalcon 1.3.x 및 Phalcon 2.0.0을 사용하여 Php 5.5.x의 설치를 다룹니다. 또한 APC, Memcache, Memcached 및 IonCube와 같은 추가 PHP 확장 기능도 구축 할 것입니다.
nginx 설치
nginx는 Fedora OS에서 사용 가능한 패키지로 다음과 같이 설치할 수 있습니다.
그런 다음 Nginx 용 시스템 시작 링크를 생성하고 시작
건물 php
PHP로 시작하기 전에 PHP5를 구축하기위한 전제 조건을 설치해야합니다.
-
GCC 또는 다른 컴파일러 제품군.
libc-dev는 헤더를 포함한 C 표준 라이브러리를 제공합니다
Make, 이것은 빌드 관리 도구 PHP가 사용합니다.
구성 스크립트를 생성하기위한 autoconf (2.59 이상)
Automake (1.4 이상), 파일 를 생성합니다
libtool, 공유 라이브러리를 관리하는 데 도움이됩니다
PHP 파서를 생성하기위한 Bison (2.4 이상)
PHP Lexer를 생성하는 데 사용되는 (선택 사항) RE2C. git 리포지토리에는 이미 생성 된 Lexer가 포함되어 있으므로 변경하려는 경우 RE2C 만 필요합니다.
Centos/Fedora에서 다음 명령 으로이 모든 것을 설치할 수 있습니다.
-
그런 다음 소스 코드를 가져와야합니다. 이 작업을 수행하는 두 가지 방법이 있습니다. PHP의 다운로드 페이지에서 아카이브를 다운로드하거나 Github에서 Git 저장소를 복제 할 수 있습니다. Git에서 소스 코드를 확인하는 것이 좋습니다. 설치를 최신 상태로 유지하고 다른 버전으로 코드를 시험해 볼 수있는 쉬운 방법을 제공하기 때문입니다. PHP에 대한 패치를 제출하거나 PHP에 요청하는 경우 GIT 체크 아웃도 필요합니다.
리포지토리를 복제하려면 터미널에서 다음 명령을 실행하십시오.
기본적으로 마스터 브랜치에 있으므로 개발 버전으로 이동하려면 안정적인 지점을 확인해야합니다. 예를 들어.
개별 빌드 단계로 가기 전에 "기본"PHP 빌드에 대한 일부 명령을 실행해야합니다. 이것은 git의 빌드에만 필요합니다
./ buildConf 구성 스크립트를 생성합니다. 몇 분이 걸릴 수 있습니다. sudo yum install nginx
로그인 후 복사
로그인 후 복사
로그인 후 복사
내 생각에, 전체 웹 서버를 단일 디렉토리에 저장하는 것이 가장 좋으므로 여기 /opt를 사용합니다. 터미널을 열고 다음 명령을 입력하십시오
> 위의 단계를 통해 ./configure 스크립트가 생성되면 PHP 빌드를 사용자 정의하는 데 사용할 수 있습니다. –HELP : 를 사용하여 모든 지원되는 옵션을 나열 할 수 있습니다
위의 명령에는 모든 AutoConf 기반 구성 스크립트에서 지원되는 다양한 일반 옵션이 나열됩니다. 그중 하나는 이미 언급되어 있습니다 - prefix = dir는 Make Install에서 사용하는 설치 디렉토리를 변경합니다. 또 다른 유용한 옵션은 -c입니다. Config.cache 파일의 다양한 테스트 결과를 캐시하고 후속 ./Configure 통화 속도를 높입니다. 이 옵션을 사용하면 이미 작업 빌드가 있고 다른 구성간에 빠르게 변경하려는 경우에만 의미가 있습니다.
여기에 유용한 설정이 있습니다 : sudo chkconfig nginx on
sudo service nginx start
로그인 후 복사
로그인 후 복사
준비를 마친 후 PHP 버전 5.6을 설치합니다. 다음을 실행하십시오 :
마지막 스위치 (–Enable-FPM)는이 PHP 버전이 PHP-FPM과 작동하게합니다. 이 PHP-FPM 버전을 Apache와 함께 사용하려면-with-fpm-user = apache 및 with-fpm-group = apache를 사용하십시오. 반면 에이 PHP-FPM 버전을 NGINX와 함께 사용하려면-with-fpm-user = nginx 및 with-fpm-group = nginx.
성공적인 메시지는 다음과 같이 터미널에 인쇄되어야합니다.
sudo yum install gcc libxml2-devel libXpm-devel gmp-devel libicu-devel t1lib-devel aspell-devel openssl-devel bzip2-devel libcurl-devel libjpeg-devel libvpx-devel libpng-devel freetype-devel readline-devel libtidy-devel libxslt-devel libmcrypt-devel pcre-devel curl-devel mysql-devel ncurses-devel gettext-devel net-snmp-devel libevent-devel libtool-ltdl-devel libc-client-devel postgresql-devel bison gcc make
로그인 후 복사
로그인 후 복사
이제 Make를 사용하여 실제 편집을 수행 할 수 있습니다.
이 작업의 주요 결과는 활성화 된 SAPI (기본적으로 SAPI/CLI/PHP 및 SAPI/CGI/PHP-CGI) 및 모듈/디렉토리의 공유 확장에 대한 PHP 바이너리입니다.
이제 -prefix 구성을 사용하여 PHP에 /usr /local (기본값) 또는 기타 디렉토리에 PHP를 설치하려면 "설치"를 실행할 수 있습니다. 이 경우 /opt/php-5.6 입니다
설치를 만들기는 INI 파일을 생성하지 않습니다.
sudo mkdir /opt/source && cd /opt/source
git clone git@github.com:php/php-src.git && cd php-src
로그인 후 복사
로그인 후 복사
<.> php.ini 및 php-fpm.conf를 올바른 디렉토리로 복사하십시오 :
우리는 PHP 버전을 한 번 더 확인하고 확인합니다.
sudo yum install nginx
로그인 후 복사
로그인 후 복사
로그인 후 복사
/opt/php-5.6/etc/php-fpm.conf를 열고 청취 라인에서 설정을 조정하십시오. 사용하지 않은 포트로 변경해야합니다 (예 : 9001; 포트 9000은 Fedora가 사용 중일 수 있음)
init 스크립트 설정
새로운 PHP-FPM에 대한 Init 스크립트를 만들고 싶을 것입니다. 운 좋게도 PHP 5.3은 이미이를 제공하고, Init 스크립트를 디렉토리에 복사하고 권한을 변경하십시오.
sudo chkconfig nginx on
sudo service nginx start
로그인 후 복사
로그인 후 복사
init 스크립트가 준비되었습니다. 이제 PHP-FPM을 시작, 중지 및 다시로드 할 수 있습니다.
sudo yum install gcc libxml2-devel libXpm-devel gmp-devel libicu-devel t1lib-devel aspell-devel openssl-devel bzip2-devel libcurl-devel libjpeg-devel libvpx-devel libpng-devel freetype-devel readline-devel libtidy-devel libxslt-devel libmcrypt-devel pcre-devel curl-devel mysql-devel ncurses-devel gettext-devel net-snmp-devel libevent-devel libtool-ltdl-devel libc-client-devel postgresql-devel bison gcc make
로그인 후 복사
로그인 후 복사
두 번째 PHP (5.5.x) 구축
우리는 터미널을 열고 다음 명령을 입력합니다.
Php Phalcon 확장 제작
Phalcon 2.0을 포함하여 여러 버전의 Phalcon을 설치하려면 zephir 를 설치해야합니다.
PHP 확장을 설치하는 방법에는 여러 가지가 있습니다. 우리는 phpize build 그것을 사용할 것입니다. sudo mkdir /opt/source && cd /opt/source
git clone git@github.com:php/php-src.git && cd php-src
로그인 후 복사
로그인 후 복사
PHPIZE는 PHP 빌드에 사용되는 ./BuildConf 스크립트와 유사한 역할을합니다. 첫째, $ prefix/lib/php/build에서 파일을 복사하여 PHP 빌드 시스템을 확장자로 가져옵니다. 이 파일 중에는 acinclude.m4 (PHP의 M4 Macros), phpize.m4 (확장자에서 구성.
그런 다음 phpize는 autoconf를 호출하여 ./configure 파일을 생성하여 확장 빌드를 사용자 정의하는 데 사용할 수 있습니다. 설치 memcached와 같은-enable-memcache를 추가해야합니다
기억하세요! 확장자를 구축 할 때 -with-php-config 옵션을 지정해야합니다 (PHP의 전역 단일 설치가없는 한). 그렇지 않으면 ./configure는 PHP 버전과 플래그를 올바르게 결정할 수 없습니다. 또한 PHP-Config 스크립트는 또한 "설치"명령이 생성 된 *.so 파일을 오른쪽 확장 디렉토리로 이동시킵니다.
첫 번째 Php Phalcon 구축 (2.0)
성공 여부를 확인하십시오
<span> PHP 5.3: git checkout PHP-5.3
</span><span> PHP 5.4: git checkout PHP-5.4
</span><span> PHP 5.6: git checkout PHP-5.6
</span><span> PHP HEAD: git checkout master </span>
로그인 후 복사
확장이 설치된 후. php.ini 파일에 포함시켜 활성화해야합니다.
두 번째 Php Phalcon (1.3.x) 구축
우리는 설치가 성공했는지 다시 확인합니다.
nginx 구성 sudo ./buildconf
다음 구성은 PHP 5.5.X에서 실행되고 PhalCon-Dev.localHost는 PHP 5.6.x에서 실행됩니다. 이것은 예를 들어, 원하는대로 사용자 정의 할 수 있습니다. nginx 문서를 참조하십시오
.
로컬 호스트 파일을 설정하십시오
Linux 시스템을 사용하는 경우 호스트 파일을 편집 할 수 있습니다.
새 호스트 파일은 다음과 같습니다
sudo mkdir -p /opt/php-5.6
sudo mkdir -p /opt/php-5.5
로그인 후 복사
이것은 Phalcon-dev.localhost 및 Phalcon-Prd.localhost에 대한 모든 요청을 가로 채고 서버로 보냅니다. 테스트
테스트의 경우 Test.php라는 새 파일을 만들고 위의 Nginx 구성에 해당하는 폴더에 넣습니다. 각 파일에서 다음 명령을 추가합니다
이제 각 서버에서 test.php 파일을 실행하면 http : //phancalhost/test.php에서 phalcon 1.3.x phpinfo ()가 http : //phancon-dev.localhost를 볼 수 있습니다. /test.php phalcon 2.0.x. 의 phpinfo ()가 있어야합니다
결론에서
이 튜토리얼에서는 필요한 경우 자체 자체 확장 세트를 갖춘 서버에서 PHP의 여러 적극적 인 PHP 버전을 쉽게 실행할 수있는 방법을 배웠습니다. 공유 호스팅을하고 있거나 최첨단 버전을 개발하고 배포 할 수있는 동안 고대 레거시 앱을 지원 해야하는 경우에는 유용 할 수 있습니다.
아래의 의견에 피드백을 남겨두고 언제나 그렇듯이이 기사를 좋아한다면 공유하십시오!
하나의 서버에서 여러 PHP 버전 실행에 대해 자주 묻는 질문 sudo yum install nginx
로그인 후 복사
로그인 후 복사
로그인 후 복사
Ubuntu 18.04에서 Apache 및 PHP-FPM을 사용하여 하나의 서버에서 여러 PHP 버전을 실행할 수 있습니까? Ubuntu 18.04에서 Apache 및 PHP-FPM을 사용하여 하나의 서버에서 여러 PHP 버전을 실행하려면 필요한 PHP 버전과 아파치를 설치하십시오. 그런 다음 각 사이트의 PHP-FPM 버전을 사용하도록 Apache를 구성해야합니다. 각 사이트의 Apache 구성 파일을 편집하고 ProxyPassMatch 지시문을 설정하여 올바른 PHP-FPM 풀을 사용하여이를 수행 할 수 있습니다. 그런 다음 각 PHP 버전에 대해 PHP-FPM 풀을 만들어야합니다. 마지막으로 Apache 및 Php-FPM을 다시 시작하여 변경 사항을 적용하십시오.
서버의 다른 PHP 버전간에 어떻게 전환 할 수 있습니까? A2enMod를 사용하여 서버의 다른 PHP 버전간에 전환 할 수 있습니다. 및 a2dismod 명령. a2enmod 명령은 모듈을 활성화하고 a2dismod 명령은 모듈을 비활성화합니다. 다른 PHP 버전으로 전환하려면 현재 PHP 버전을 비활성화하고 원하는 PHP 버전을 활성화해야합니다. 그런 다음 변경 사항을 적용하려면 Apache를 다시 시작해야합니다.
PHP 버전의 다른 버전으로 다른 웹 사이트를 실행하려면 어떻게 다른 버전의 PHP를 사용하여 다른 웹 사이트를 실행하려면 각 웹 사이트에서 다른 PHP 버전을 사용하도록 구성하십시오. 각 웹 사이트의 Apache 구성 파일을 편집하고 ProxyPassMatch 지시문을 설정하여 올바른 PHP-FPM 풀을 사용하여이를 수행 할 수 있습니다. 그런 다음 각 PHP 버전에 대해 PHP-FPM 풀을 만들어야합니다. 마지막으로 Apache 및 PHP-FPM을 다시 시작하여 변경 사항을 적용합니다 Apache 및 PHP-FPM을 사용하여 Fedora 35에 여러 PHP 버전을 설치하려면 Apache 및 PHP-FPM을 사용하여 Fedora 35에 여러 PHP 버전을 설치하려면 필요한 PHP 버전을 설치해야합니다. 아파치. 그런 다음 각 사이트의 PHP-FPM 버전을 사용하도록 Apache를 구성해야합니다. 각 사이트의 Apache 구성 파일을 편집하고 ProxyPassMatch 지시문을 설정하여 올바른 PHP-FPM 풀을 사용하여이를 수행 할 수 있습니다. 그런 다음 각 PHP 버전에 대해 PHP-FPM 풀을 만들어야합니다. 마지막으로 Apache 및 PHP-FPM을 다시 시작하여 변경 사항을 적용합니다. PHPENV를 사용하여 여러 PHP 버전을 관리 할 수 있습니까?
PHPENV를 사용하여 PHPENV 및 PHPENV를 설치하여 여러 PHP 버전을 관리 할 수 있습니다. 필요한 PHP 버전. 그런 다음 PHPENV 명령을 사용하여 다른 PHP 버전간에 전환 할 수 있습니다. PHPENV Global 명령을 사용하여 글로벌 PHP 버전을 설정하고 PHPENV 로컬 명령을 설정하여 특정 디렉토리의 로컬 PHP 버전을 설정할 수 있습니다. 서버에서 현재 PHP 버전을 어떻게 확인할 수 있습니까?
터미널에서 PHP -V 명령을 실행하여 서버의 현재 PHP 버전을 확인할 수 있습니다. 이 명령은 현재 PHP 버전 및 PHP 설치에 대한 기타 정보를 표시합니다.
서버에 특정 PHP 버전을 설치하려면 어떻게해야합니까? 서버에 특정 PHP 버전을 설치할 수 있습니다. apt-get install 명령을 사용하고 원하는 PHP 버전의 패키지 이름이 이어집니다. 예를 들어, PHP 7.2를 설치하려면 apt-get 설치 php7.2를 실행합니다.
특정 php 버전을 사용하도록 Apache를 구성하는 방법 Apache를 구성 할 수 있습니다. Apache 구성 파일을 편집하고 ProxyPassMatch 지시문을 설정하여 올바른 PHP-FPM 풀을 사용하여 특정 PHP 버전을 사용하십시오. 그 후에는 변경 사항을 적용하려면 Apache를 다시 시작해야합니다.
특정 PHP 버전에 대한 PHP-FPM 풀을 어떻게 만들 수 있습니까?
PHP-FPM 풀을 /etc/php/7.2/fpm/pool.d/ 디렉토리에서 새 풀 구성 파일을 작성하여 특정 PHP 버전. 구성 파일에는 청취 주소 및 포트, 사용자 및 그룹 및 프로세스 관리자 설정과 같은 PHP-FPM 풀의 설정이 포함되어야합니다. 하나의 서버?
Apache 및 PHP-FPM 오류 로그를 확인하여 하나의 서버에서 여러 PHP 버전을 실행하는 경우 문제를 해결할 수 있습니다. 오류 로그는 Apache 구성 또는 PHP-FPM 풀의 모든 문제에 대한 정보를 제공 할 수 있습니다. PHP -V 명령을 사용하여 현재 PHP 버전과 A2enMoD 명령을 확인하여 어떤 PHP 모듈이 활성화되어 있는지 확인할 수 있습니다.
위 내용은 한 서버에서 여러 버전의 PHP를 실행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!