>  기사  >  운영 및 유지보수  >  Centos에 여러 PHP를 설치하는 방법

Centos에 여러 PHP를 설치하는 방법

藏色散人
藏色散人원래의
2020-08-21 09:12:094438검색

centos에 여러 PHP를 설치하는 방법: 먼저 yum용 EPEL 라이브러리와 REMI 라이브러리를 도입한 다음 "yum-config-manager --enable remi-php71" 명령을 통해 PHP 소스 "remi-php71"을 활성화합니다. "php56"을 사용하여 구성하면 됩니다.

Centos에 여러 PHP를 설치하는 방법

centos에 여러 버전의 php를 설치하고 동시에 nginx에 사용했습니다.

새로 생성된 가상 머신에 php7을 설치했는데 설치 후 일부 오래된 프로젝트가 실행되지 않는 것을 발견했습니다. php7 버전이 php5보다 오래됐는데, 버전이 많이 바뀌어서 많은 문제가 생겼습니다. 제가 설치하고 싶은 것은 PHP5.6 입니다. 리눅스에서 여러 버전의 PHP를 찾아 인터넷을 검색해 보았는데, 관리를 위해 phpenv를 추천하고 시도해 보았지만 결과가 나오지 않아서 이 글을 발견하고 직접 해결하기 전까지 방법을 바꿔야 했습니다. 여기서는 설치 및 설정 과정을 소개하겠습니다.

추천: "centos tutorial"

이 경우 실제로 Linux 시스템에 다양한 PHP 버전을 yum 및 기타 도구를 통해 직접 설치하고, PHP-FPM 서비스를 별도로 등록한 후 서버에서 구성할 수 있습니다. Experimental Environment는 CCENTOS7

NGINX V1 (시스템 기본 PHP 버전으로 설정 됨) 및 PHP5.6SERVER IP 192.168.56.100STALL PHP7 및 PHP5.6 탭 2 개의 라이브러리를 소개합니다. yum의 경우: EPEL 및 REMI 때문에 최신 PHP 버전 소스를 제공합니다. CENTOS와 함께 제공되는 yum 라이브러리의 PHP 버전은 너무 오래되었습니다.

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

php71 설치

# yum-config-manager --enable remi-php71  [Default]
# yum install php php-common php-fpm
# yum install php-mysql php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo

첫 번째 문장은 활성화하라는 것입니다. PHP 소스 remi-php71

php56 설치

# yum install php56 php56-php-common php56-php-fpm
# yum install php56-php-mysql php56-php-pecl-memcache php56-php-pecl-memcached php56-php-gd php56-php-mbstring php56-php-mcrypt php56-php-xml php56-php-pecl-apc php56-php-cli php56-php-pear php56-php-pdo

Linux에서 php -v를 실행하여 현재 PHP 버전이 7.1

인지 확인하세요. 설치 후 php-fpm과 php56-php-fpm을 구성해야 합니다. Linux의 PHP 및 웹의 Fastcgi 프로세스 관리자입니다. 서버는 이를 통해 PHP 처리를 호출합니다.

자, 구성을 시작하겠습니다.

두 PHP 버전에 해당하는 구성 파일은

php-fpm (default 7.1) – /etc/php-fpm.d/www.conf
php56-php-fpm – /opt/remi/php56/root/etc/php-fpm.d/www.conf

(놀랍습니다. 설치된 PHP56 버전은 opt 디렉토리에 있습니다)

두 개의 구성 파일을 열고 다음 코드를 변경하세요

listen = 127.0.0.1:9000[php-fpm]
listen = 127.0.0.1:9001[php56-php-fpm]

소켓 통신을 통해 php-fpm이 호출되면 다음과 같이 코드를 변경하세요

listen = /var/run/php-fpm/php-fpm.sock[php-fpm]
listen = /opt/remi/php56/root/var/run/php-fpm/php-fpm.sock[php56-php-fpm]

두 가지 버전의 php를 등록하고 활성화하세요 -fpm 서비스 각각

# systemctl enable nginx 
# systemctl start nginx 
# systemctl enable mariadb 
# systemctl start mariadb 
---------------- PHP 7.1 ---------------- 
# systemctl enable php-fpm 
# systemctl start php-fpm 
---------------- PHP 5.6 ----------------
# systemctl enable php56-fpm 
# systemctl start php56-php-fpm

php7 서버 구성의 nginx 사용

server {
    listen 80;
    server_name example1.com www.example1.com;
    root   /var/www/html/example1.com/;
    index index.php index.html index.htm;
    #charset koi8-r;
    access_log /var/log/nginx/example1.com/example1_access_log;
    error_log   /var/log/nginx/example1.com/example1_error_log   error;
    location / {
    try_files $uri $uri/ /index.php?$query_string;
    }
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~ \.php$ {
    root    /var/www/html/example1.com/;
    fastcgi_pass   127.0.0.1:9000;#set port for php-fpm to listen on
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include         fastcgi_params;
    include /etc/nginx/fastcgi_params;
    }
}
`

php56 nginx 서버 구성 사용

server {
    listen 80;
    server_name example2.com www.example2.com;
    root    /var/www/html/example2.com/;
    index index.php index.html index.htm;
    #charset koi8-r;
    access_log /var/log/nginx/example2.com/example2_access_log;
    error_log  /var/log/nginx/example2.com/example2_error_log   error;
    location / {
    try_files $uri $uri/ /index.php?$query_string;
    }
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~ \.php$ {
    root    /var/www/html/example2.com/;
    fastcgi_pass   127.0.0.1:9001;#set port for php56-php-fpm to listen on
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include         fastcgi_params;
    include /etc/nginx/fastcgi_params;
    }
}

테스트 웹 페이지 파일 추가

# echo "<?php phpinfo(); ?>" > /var/www/html/example1.com/info.php
# echo "<?php phpinfo(); ?>" > /var/www/html/example2.com/info.php

Test

이후 example1.com/info.php 및 example2.com을 방문하세요. /info.php를 테스트합니다.

로컬 가상 머신에 구성되어 있는 경우 로컬 호스트 파일에

192.168.56.100   example1.com   example1
192.168.56.100   example2.com   example2
를 추가하는 것을 잊지 마세요.

위 내용은 Centos에 여러 PHP를 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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