CenterOS 處理php環境

2021-10-06 20:49:33 字數 3095 閱讀 8813

centeros 預設整合了php環境,一方面作為研究php的部署環境,一方面為了公升級php的版本,嘗試一下,刪除老版本並安裝新版本的php

大概需要如下幾個步驟

yum remove php*(不能完全解除安裝乾淨)

#php-pdo-5.1.6-27.el5_5.3

#php-mysql-5.1.6-27.el5_5.3

#php-xml-5.1.6-27.el5_5.3

#php-cli-5.1.6-27.el5_5.3

#php-common-5.1.6-27.el5_5.3

#php-gd-5.1.6-27.el5_5.3

r pm -e php-mysql-5.1.6-27.el5_5.3

安裝php我們首先要了解一些常用概念

common gateway inte***ce(公共閘道器介面)

請求模式:

web brower(瀏覽器) ----(通過http協議傳輸)----> http server(伺服器nginx/apache) -----> cgi program -----> db

server 與 cgi 通過 stdin/stdout(標準的輸入/輸出)進行資料傳遞

nginx(動態載入模組) apache(指定載入模組)

每當客戶請求cgi的時候,web伺服器就請求作業系統生成乙個新的cgi直譯器程序(如php-cgi.exe),

cgi 的乙個程序則處理完乙個請求後退出,下乙個請求來時再建立新程序。

當然,這樣在訪問量很少沒有併發的情況也行。可是當訪問量增大,併發存在,這種方式就不 適合了。於是就有了fastcgi。

像是乙個常駐(long-live)型的cgi,它可以一直執行著,只要啟用後,

不會每次都要花費時間去fork一次(這是cgi最為人詬病的fork-and-execute 模式)。

一般情況下,fastcgi的整個工作流程是這樣的:

1.web server啟動時載入fastcgi程序管理器(iis isapi或apache module)

2.fastcgi程序管理器自身初始化,啟動多個cgi直譯器程序(可見多個php-cgi)並等待來自web server的連線。

3.當客戶端請求到達web server時,fastcgi程序管理器選擇並連線到乙個cgi直譯器。 web server將cgi環境變數和標準輸入傳送到fastcgi子程序php-cgi。

4.fastcgi 子程序完成處理後將標準輸出和錯誤資訊從同一連線返回web server。

當fastcgi子程序關閉連線時, 請求便告處理完成。

fastcgi子程序接著等待並處理來自fastcgi程序管理器(執行在web server中)的下乙個連線。

在cgi模式中,php-cgi在此便退出了。

php-fpm(php內建的一種fast-cgi 從5.3以後)

php-fpm即php-fastcgi process manager.

php-fpm是 fastcgi 的實現,並提供了程序管理的功能。

程序包含 master 程序和 worker 程序兩種程序。

master 程序只有乙個,負責監聽埠,接收來自 web server 的請求,而 worker 程序則一般有多個(具體數量根據實際需要配置),

每個程序內部都嵌入了乙個 php 直譯器,是 php **真正執行的地方。

web brower(瀏覽器訪問) www.example.com

| |

通過http協議傳輸

(伺服器nginx/apache)

| |

配置解析

路由到 www.example.com/index.php

| |

載入 nginx 的 fast-cgi 模組

| |

fast-cgi 監聽 127.0.0.1:9000 位址

通過 fast-cgi 協議將請求**給 php-fpm 處理

| |

請求到達 127.0.0.1:9000

| |

php-fpm 監聽 127.0.0.1:9000

可通過 php-fpm.conf 進行修改

yum install epel-release -y

rpm -uvh

如下的幾個安裝包正常基本夠用

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel

或者安裝全面一些的內容擴充套件

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

systemctl enable php-fpm.service

systemctl start php-fpm.service

現在我們在看下nginx的關於php的配置就能理解,

fastcgi_pass 引數的意義,聽過nginx**到fpm對應的9000埠進行php相關處理

location ~ .php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi_params;

PHP環境處理記錄之外掛程式安裝

伺服器環境部署 出現了一些缺外掛程式的情況,php的版本是5.4的版本 稍微有些老,把安裝過程記錄一下。這裡總結的過程中可以把相關外掛程式區分為需要編譯和不需要編譯的版本 嘗試使用yum install php xml但是提示已安裝的php common版本和需要的版本不一致。正常情況下yum in...

環境搭建 Center OS 6版本的公升級核心

center os 6版本的公升級核心 檢視核心版本 低於3.1需要公升級 uname r1.安裝elrepo yum 源 提供核心更新 硬體驅動等軟體源支援 rpm import rpm uvh2.安裝elrepo的時候發現 上面鏈結 出現404,可以用以下鏈結 rpm uvh3.核心公升級 yu...

php環境搭建 xp xp系統php環境搭建

php 環境搭建第四步 在 windows 7 下如何進行 php 配置環境。php 環境在 windows 7 上的配置相比 windows xp 等要簡單很多,不 需要複製等操作,你只要將 php.在windows下設定iis php.1頁 免費 在windows xp中配置支援.2頁 免費 w...