搜尋
首頁運維CentOScentos如何安裝多個php

centos如何安裝多個php

Aug 21, 2020 am 09:12 AM
centos

centos安裝多個php的方法:先為yum引入EPEL函式庫和REMI函式庫;然後透過指令「yum-config-manager --enable remi-php71」啟用PHP來源「remi-php71」;接著安裝並配置好“php56”即可。

centos如何安裝多個php

centos中安裝多版本php並且同時用於nginx

在新建的虛擬機器中安裝了php7 , 安好了才發現一些老一點的項目跑不了了, 由於php7版本較php5版本有了較大修改, 很多函數已經不是廢棄, 而是移除了, 導致很多問題. 只好再安裝一個php版本了, 我要安裝的是php5.6, 在網上搜了linux中的php多版本管理, 推薦了phpenv, 搞了一通, 沒有結果, 只好換個方法了, 直到我發現了這篇文章, 直接解決. 下面給大家介紹安裝及設定流程.

推薦:《centos教學

這種情況下其實可以透過直接在一個linux系統中透過yum等工具安裝好不同的PHP版本, 分別註冊PHP-FPM服務, 配置到伺服器中即可.

實驗環境

CENTOS7

Nginx v1.12.2

PHP7(設定為系統預設PHP版本)和PHP5.6

伺服器IP 192.168.56.100

安裝PHP7與PHP5.6

首先為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, 他們是php的Fastcgi進程管理器, linux中web伺服器呼叫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]

如果是透過socket通訊方式呼叫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

#測試

之後訪問example1.com/info.php 與example2.com/info.php測試即可.

#如果你是在本地虛擬機中配置的, 別忘了在本地host檔案中添加

192.168.56.100   example1.com   example1
192.168.56.100   example2.com   example2

以上是centos如何安裝多個php的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
CENTOS:Linux分佈介紹CENTOS:Linux分佈介紹Apr 19, 2025 am 12:07 AM

CentOS是一個基於RedHatEnterpriseLinux的開源發行版,專注於穩定性和長期支持,適用於各種服務器環境。 1.CentOS的設計哲學是穩定,適用於Web、數據庫和應用服務器。 2.使用YUM作為包管理器,定期發布安全更新。 3.安裝簡單,通過幾條命令即可搭建Web服務器。 4.高級功能包括使用SELinux增強安全性。 5.常見問題如網絡配置和軟件依賴可以通過nmcli和yumdeplist命令調試。 6.性能優化建議包括調整內核參數和使用輕量級Web服務器。

CENTOS IN ACTION:服務器管理和Web託管CENTOS IN ACTION:服務器管理和Web託管Apr 18, 2025 am 12:09 AM

CentOS在服務器管理和Web託管中廣泛應用,具體方法包括:1)使用yum和systemctl管理服務器,2)安裝並配置Nginx進行Web託管,3)利用top和mpstat優化性能,4)正確配置防火牆和管理磁盤空間以避免常見問題。

CENTOS:社區驅動的Linux分銷CENTOS:社區驅動的Linux分銷Apr 17, 2025 am 12:03 AM

CentOS是一個穩定的、企業級的Linux發行版,適用於服務器和企業環境。 1)它基於RedHatEnterpriseLinux,提供免費、開源且兼容的操作系統。 2)CentOS使用Yum包管理系統,簡化軟件安裝和更新。 3)支持高級自動化管理,如使用Ansible。 4)常見錯誤包括軟件包依賴和服務啟動問題,可通過日誌文件解決。 5)性能優化建議包括使用輕量級軟件、定期清理系統和優化內核參數。

Centos之後發生的事情:前方的道路Centos之後發生的事情:前方的道路Apr 16, 2025 am 12:07 AM

CentOS的替代方案包括RockyLinux、AlmaLinux、OracleLinux和SLES。 1)RockyLinux和AlmaLinux提供與RHEL兼容的二進制包和長期支持。 2)OracleLinux提供企業級支持和Ksplice技術。 3)SLES提供長期支持和穩定性,但商業許可可能增加成本。

Centos:探索替代方案Centos:探索替代方案Apr 15, 2025 am 12:03 AM

CentOS的替代方案包括UbuntuServer、Debian、Fedora、RockyLinux和AlmaLinux。 1)UbuntuServer適合基本操作,如更新軟件包和配置網絡。 2)Debian適用於高級用法,如使用LXC管理容器。 3)RockyLinux可通過調整內核參數優化性能。

centos關機命令行centos關機命令行Apr 14, 2025 pm 09:12 PM

CentOS 關機命令為 shutdown,語法為 shutdown [選項] 時間 [信息]。選項包括:-h 立即停止系統;-P 關機後關電源;-r 重新啟動;-t 等待時間。時間可指定為立即 (now)、分鐘數 ( minutes) 或特定時間 (hh:mm)。可添加信息在系統消息中顯示。

centos和ubuntu的區別centos和ubuntu的區別Apr 14, 2025 pm 09:09 PM

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

centos配置ip地址centos配置ip地址Apr 14, 2025 pm 09:06 PM

CentOS 中配置 IP 地址的步驟:查看當前網絡配置:ip addr編輯網絡配置文件:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0更改 IP 地址:編輯 IPADDR= 行更改子網掩碼和網關(可選):編輯 NETMASK= 和 GATEWAY= 行重啟網絡服務:sudo systemctl restart network驗證 IP 地址:ip addr

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器