搜尋
首頁運維CentOScentos如何編譯安裝php-fpm

centos如何編譯安裝php-fpm

Aug 31, 2020 am 09:51 AM
centosphp-fpm

centos編譯安裝php-fpm的方法:先透過「yum install wget vim」安裝依賴軟體;然後安裝php依賴;接著拷貝「php.ini-production」到編譯時指定的設定檔目錄;最後檢查PHP版本即可。

centos如何編譯安裝php-fpm

推薦:《PHP影片教學

CentOS7下編譯安裝PHP5.4.45並編譯php -fpm

系統環境

uname -a
Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
date
Fri Feb 2 22:12:58 CST 2018

所需檔案

來源碼

PHP : http://sg2.php.net/distributions/ php-5.4.45.tar.gz

編譯環境

gcc

依賴:cpp、glibc-devel、glibc-headers、kernel-headers、libmpc、mpfr

伴隨升級:glibc、glibc-common、libgcc、libgomp

gcc-c

依賴:libstdc -devel

##伴隨升級:libstdc

yum install gcc gcc-c

依賴軟體

yum install wget vim

wget用於下載,vim方便編輯文件

編譯安裝需要對應功能的頭文件,頭文件的取得方式有兩個方式,一個是透過yum安裝對應的devel包,裡面就包含了編譯過程中所需要檔;另外一種方式就是下載需要的源碼包,並且解壓縮,然後在configue中指定源文件位置即可。

開始安裝

安裝php依賴

這裡使用yum來安裝,當然,也可以選擇使用原始碼套件。使用原始碼時,最好選擇與yum相對應的版本,否則可能會不現相容性問題。

原始碼下載位置:http://vault.centos.org/centos/7/os/Source/SPackages/

yum install libxml2-devel    #2.9.1
yum install openssl openssl-devel   #1.0.2k
yum install bzip2 bzip2-devel   #1.0.6
yum install curl curl-devel   #7.29.0
yum install libjpeg libjpeg-devel   #libjpeg-turbo-1.2.90
yum install libpng libpng-devel  #1.5.13
yum install libxslt libxslt-devel  #1.1.28
yum install freetype freetype-devel   #2.4.11
yum install gmp gmp-devel   #6.0.0
yum install icu libicu-devel   #50.1.2
yum install -y epel-release && yum install -y libmcrypt libmcrypt-devel   #2.5.8该包CentOS默认源中没有,所以使用epel的源
yum install unixODBC unixODBC-devel #2.3.1

以下這些會依賴安裝,如不確定也可手動再安裝一次

gettext   #0.18.2.1
zlib   #1.2.7
pcre   #8.32
libpng   #1.5.13

若使用原始碼方式,為確保功能完整性,需安裝以下套件:

yum install libxml2 openssl bzip2 curl libjpeg freetype gmp icu libicu libmcrypt unixODBC gettext zlib pcre libpng

安裝php

php:

wget http://sg2.php.net/distributions/php-5.4.45.tar.gz
tar zxvf php-5.4.45.tar.gz
cd php-5.4.45
./configure \
--prefix=/opt/web_engine/php \
--with-config-file-path=/opt/web_engine/php/etc \
--with-gettext \
--with-gmp \
--with-mysql \
--with-openssl \
--with-pdo-mysql \
--with-bz2 \
--with-curl \
--with-mcrypt \
--with-mhash \
--with-freetype-dir \
--with-unixODBC=/usr/ \
--with-pdo-odbc=unixODBC,/usr/ \
--with-libxml-dir \
--with-zlib \
--with-pcre-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-xmlrpc \
--with-libxml-dir \
--with-xsl \
--enable-soap \
--enable-sysvmsg \
--enable-wddx \
--enable-zip \
--enable-exif \
--enable-intl \
--enable-bcmath \
--enable-calendar \
--enable-mbstring \
--enable-shmop \
--enable-fpm \
--enable-sockets
make && make install
Installing PHP CLI binary: /opt/web_engine/php/bin/
Installing PHP CLI man page: /opt/web_engine/php/php/man/man1/
Installing PHP FPM binary: /opt/web_engine/php/sbin/
Installing PHP FPM config: /opt/web_engine/php/etc/
Installing PHP FPM man page: /opt/web_engine/php/php/man/man8/
Installing PHP FPM status page: /opt/web_engine/php/php/fpm/
Installing PHP CGI binary: /opt/web_engine/php/bin/
Installing PHP CGI man page: /opt/web_engine/php/php/man/man1/
Installing build environment: /opt/web_engine/php/lib/php/build/
Installing header files: /opt/web_engine/php/include/php/
Installing helper programs: /opt/web_engine/php/bin/
program: phpize
program: php-config
Installing man pages: /opt/web_engine/php/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /opt/web_engine/php/lib/php/
[PEAR] Archive_Tar - installed: 1.3.12
[PEAR] Console_Getopt - installed: 1.3.1
[PEAR] Structures_Graph- installed: 1.0.4
[PEAR] XML_Util - installed: 1.2.3
[PEAR] PEAR - installed: 1.9.5
Wrote PEAR system config file at: /opt/web_engine/php/etc/pear.conf
You may want to add: /opt/web_engine/php/lib/php to your php.ini include_path
/root/php-5.4.45/build/shtool install -c ext/phar/phar.phar /opt/web_engine/php/bin
ln -s -f /opt/web_engine/php/bin/phar.phar /opt/web_engine/php/bin/phar
Installing PDO headers: /opt/web_engine/php/include/php/ext/pdo/

後續工作

拷貝原始碼目錄下的php.ini-production到編譯時指定的設定檔目錄

cp /root/php-5.4.45/php.ini-production /opt/web_engine/php/etc
cd /opt/web_engine/php/etc && cp php.ini-production php.ini
cd /opt/web_engine/php/etc && cp php-fpm.conf.default php-fpm.conf

另外,若有知定義php擴展,則安裝擴充

#檢查PHP版本

/opt/web_engine/php/bin/php -v
PHP 5.4.45 (cli) (built: Feb 2 2018 15:44:07)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

查看詳細資訊

/opt/web_engine/php/bin/php -i

...

systemd配置

vim /usr/lib/systemd/system/php-fpm.service
 
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
 
[Service]
Type=simple
PIDFile=/opt/web_engine/php/var/run/php-fpm.pid
ExecStart=/opt/web_engine/php/sbin/php-fpm --nodaemonize --fpm-config /opt/web_engine/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPIDe
 
[Install]
WantedBy=multi-user.target

日誌輪替

vim /etc/logrotate.d/php-fpm
/var/log/php-fpm/*.log {
    su root root
    daily
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    olddir /var/log/php-fpm/archive
    #create 640 nginx adm
    sharedscripts
    postrotate
        /bin/kill -SIGUSR1 `cat /opt/web_engine/php/var/run/php-fpm.pid 2>/dev/null` 2>/dev/null || true
    endscript
}

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

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
CENTOS關閉的原因:詳細分析CENTOS關閉的原因:詳細分析May 03, 2025 am 12:05 AM

RedHat關閉CentOS8.x並推出CentOSStream的原因是希望通過後者提供一個更接近RHEL開發週期的平台。 1.CentOSStream作為RHEL的上游開發平台,採用滾動發布模式。 2.這一轉變旨在讓社區更早接觸RHEL新功能並提供反饋,加速RHEL開發週期。 3.用戶需要適應不斷變化的系統,重新評估系統需求和遷移策略。

CentOS:使用此Linux發行版的優點CentOS:使用此Linux發行版的優點May 02, 2025 am 12:10 AM

CentOS在企業級Linux發行版中脫穎而出是因為其穩定性、安全性、社區支持和企業應用優勢。 1.穩定性:更新周期長,軟件包經過嚴格測試。 2.安全性:繼承RHEL的安全特性,及時更新和詳細公告。 3.社區支持:龐大社區和詳盡文檔,快速響應問題。 4.企業應用:支持容器技術如Docker,適合現代應用部署。

比較CentOS替換:功能和好處比較CentOS替換:功能和好處May 01, 2025 am 12:05 AM

CentOS的替代方案包括AlmaLinux、RockyLinux和OracleLinux。 1.AlmaLinux提供RHEL兼容性和社區驅動開發。 2.RockyLinux強調企業級支持和長期維護。 3.OracleLinux提供Oracle特有的優化和支持。這些替代方案都具備與CentOS相似的穩定性和兼容性,適合不同需求的用戶。

CentOS與其他Linux分佈:比較CentOS與其他Linux分佈:比較Apr 30, 2025 am 12:07 AM

CentOS因其穩定性和長生命週期而適合企業和服務器環境。 1.CentOS提供長達10年的支持,適用於需要穩定運行的場景。 2.Ubuntu適合需要快速更新和用戶友好的環境。 3.Debian適用於需要純淨和自由軟件的開發者。 4.Fedora適合喜歡嘗試最新技術的用戶。

Centos的離開:選擇正確的選擇Centos的離開:選擇正確的選擇Apr 29, 2025 am 12:04 AM

CentOS的替代方案包括AlmaLinux、RockyLinux和OracleLinux。 1.AlmaLinux和RockyLinux通過1:1重建RHEL,提供高穩定性和兼容性,適合企業環境。 2.OracleLinux通過UEK提供高性能,適合熟悉Oracle技術棧的用戶。 3.選擇時需考慮穩定性、社區支持和軟件包管理。

Centos的替代者:探索新選項Centos的替代者:探索新選項Apr 28, 2025 am 12:17 AM

CentOS替代方案包括RockyLinux、AlmaLinux和OracleLinux。 1.RockyLinux和AlmaLinux提供與RHEL兼容的穩定發行版,適合需要長期支持的用戶。 2.CentOSStream適合關注新功能和開發週期的用戶。 3.OracleLinux適用於需要企業級支持的用戶。

替換CentOS:確定合適的替代品替換CentOS:確定合適的替代品Apr 27, 2025 am 12:04 AM

CentOS需要替代品是因為CentOSStream不再提供長期支持。替代選項包括:1.RockyLinux,提供10年生命週期支持,適合需要穩定性的用戶。 2.AlmaLinux,同樣提供10年支持,有強大社區支持。 3.OracleLinux,提供與RHEL兼容的版本,生命週期管理靈活。

CentOS的結束:評估影響CentOS的結束:評估影響Apr 26, 2025 am 12:03 AM

CentOS的終結對用戶產生了重大影響,用戶可選擇RHEL、AlmaLinux、Debian或Ubuntu作為替代方案。 1.遷移成本高,需時間和金錢。 2.社區分裂影響開源項目。 3.RHEL提供商業支持,但成本高。 4.AlmaLinux與CentOS相似,遷移成本低。 5.Debian和Ubuntu需更多時間適應。

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脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 英文版

SublimeText3 英文版

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。