ホームページ > 運用・保守 > CentOS > CentOSに複数のPHPをインストールする方法

CentOSに複数のPHPをインストールする方法

藏色散人
リリース: 2020-08-21 09:12:09
オリジナル
4451 人が閲覧しました

centos に複数の php をインストールする方法: まず yum 用の EPEL ライブラリと REMI ライブラリを導入し、次にコマンド「yum-config-manager --enable remi-php71」を通じて PHP ソース「remi-php71」を有効にします。 "; あとは、"php56" をインストールして設定するだけです。

CentOSに複数のPHPをインストールする方法

複数のバージョンの php を centos にインストールし、同時に nginx で使用する

php7 を centos にインストールします。新しく作成した仮想マシンをインストールしたところ、古いプロジェクトの一部が実行できないことが分かりました。php7 バージョンは php5 バージョンに比べて大幅に変更されているため、多くの機能が放棄されたのではなく削除され、多くの問題が発生しました。別の php バージョンです。インストールしたいのは php5.6 です。Linux での PHP マルチバージョン管理についてインターネットで検索し、phpenv を推奨しました。すべて試しましたが、結果が得られなかったので、別の方法を試さなければなりませんでした。この記事を見つけて直接解決するまでは、以下にインストールと構成のプロセスを紹介します。

推奨: "centos チュートリアル "

この場合、次のことができます。実際には、yum やその他のツールを使用して Linux システムに直接インストールします。さまざまな PHP バージョンについては、PHP-FPM サービスを個別に登録し、サーバーで構成します。

実験環境

CENTOS7

Nginx v1.12.2

PHP7 (システムのデフォルト PHP バージョンとして設定) および PHP5.6

サーバー IP 192.168.56.100

PHP7 および PHP5.6 をインストールします。

まず yum の 2 つのライブラリ、EPEL と REMI を紹介します。これら 2 つのライブラリは最新の 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
ログイン後にコピー

Install 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

Install 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 を設定する必要があります。これらは PHP の Fastcgi プロセス マネージャーです。Linux では、Web サーバーはこれらを介して PHP を呼び出します。

OK、設定を開始しましょう。 .

2 つの 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 ディレクトリ)

2 つの設定ファイルを開き、次のコードを変更します

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]
ログイン後にコピー

Register と2 つのバージョンの 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;
    }
}
ログイン後にコピー

テスト Web ページ ファイルを追加する

# echo "<?php phpinfo(); ?>" > /var/www/html/example1.com/info.php
# echo "<?php phpinfo(); ?>" > /var/www/html/example2.com/info.php
ログイン後にコピー

テスト後

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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート