PHP8忙菠、FPM及部分?jǐn)U展編譯安裝

前言

本著能懶則懶的原則,之前我都是寶塔纺弊、lnmp腳本等“一鍵”
再不濟(jì)也得來個(gè) apt/yum install php
什么牛欢?源碼 make install? 編譯參數(shù)一言難盡淆游,勸退勸退...我只是想要個(gè)開發(fā)環(huán)境而已

沒關(guān)系傍睹!我來整理一下常用模塊以及參數(shù)!環(huán)境為 ubuntu/debian

為啥不用docker?
開發(fā)環(huán)境有時(shí)候想跑一跑代碼犹菱,還得先進(jìn)入到容器里拾稳,里面通常又沒有宿主機(jī)的一些工具(有的容器甚至連ping都沒有),來回切換感覺很麻煩

總結(jié)

  • 源碼壓縮包要檢查 sha256
  • 快速安裝 只看 1腊脱、2访得、4、5
  • 3 為模塊對(duì)應(yīng)的參數(shù)表

開始

1. 準(zhǔn)備源碼

檢查壓縮包的完整性陕凹,與官網(wǎng) sha256比較

wget https://www.php.net/distributions/php-8.1.2.tar.gz
sha256sum php-8.1.2.tar.gz
tar zxvf php-8.1.2.tar.gz

2. 準(zhǔn)備編譯環(huán)境

安裝以下包

// debian/ubuntu 
apt install gcc make pkg-config libxml2-dev libsqlite3-dev libonig-dev libcurl4-openssl-dev libssl-dev libzip-dev
#  GD
apt install zlib1g-dev libpng-dev

3. 編譯參數(shù)

官方的拓展分類
根據(jù)需要的模塊添加其后對(duì)應(yīng)的參數(shù)

./configure 各種參數(shù)
模塊 參數(shù) 作用 備注
--prefix= 安裝目錄前綴 核心配置項(xiàng)
--with-pear 安裝pear
--with-config-file-path 指定 php.ini的位置
FPM --enable-fpm 詳細(xì)配置
FPM --with-fpm-user 運(yùn)行者
FPM --with-fpm-group 運(yùn)行組
FPM --with-fpm-systemd 使用systemd運(yùn)行管理
GD --enable-gd 使用推薦版本GD 詳細(xì)配置
mbstring --enable-mbstring 多字節(jié)字符串
CURL --with-curl
PDO_MYSQL --with-pdo-mysql 默認(rèn)使用的是 Mysqlnd
OpenSSL --with-openssl
Zip --with-zip
sockets --enable-sockets

4. 編譯命令

包含常用模塊悍抑,可以直接使用

./configure --prefix=/usr/local --with-pear --enable-fpm --with-fpm-systemd --enable-gd --enable-mbstring --with-curl --with-pdo-mysql --with-openssl --with-zip

5. 編譯&安裝

編譯并安裝后
復(fù)制 php.ini 到默認(rèn)目錄/usr/local/lib/

編譯的時(shí)候可指定

make && make install
cp php.ini-development /usr/local/lib/php.ini

檢查 php安裝是否正確

$ php -v
PHP 8.1.2 (cli) (built: Feb 18 2022 08:17:32) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies

$ php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/lib
Loaded Configuration File => /usr/local/lib/php.ini

復(fù)制 fpm 配置文件鳄炉、運(yùn)行服務(wù)文件
www.conf php-fpm.conf php-fpm.service

cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
cp /usr/local/etc/php-fpm.conf.default  /usr/local/etc/php-fpm.conf
cp sapi/fpm/php-fpm.service /etc/systemd/system/

修改 fpm 用戶和組,默認(rèn)為nobody

編譯的時(shí)候可指定

user = www-data
group = www-data

/usr/local/etc/php-fpm.d/www.conf

修改服務(wù)文件搜骡,取消只讀 不然日志不能讀寫無法啟動(dòng)

ProtectSystem=false

/etc/systemd/system/php-fpm.service

設(shè)置自啟動(dòng)并運(yùn)行

systemctl enable php-fpm
service php-fpm start
service php-fpm status
* php-fpm.service - The PHP FastCGI Process Manager
     Loaded: loaded (/etc/systemd/system/php-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-02-18 09:46:29 UTC; 5s ago
   Main PID: 397784 (php-fpm)

本地起服務(wù)測(cè)試

php -S 0.0.0.0:8080

[附]編譯錯(cuò)誤

No package 'libxml-2.0' found

apt install libxml2-dev

No package ‘sqlite3‘ found

apt install libsqlite3-dev

configure: WARNING: unrecognized options: –with-gd

--with-gd becomes --enable-gd

No package 'zlib' found

apt install zlib1g-dev

No package 'libpng' found

apt install libpng-dev

No package 'oniguruma' found

apt install libonig-dev

No package 'libcurl' found

apt install libcurl4-openssl-dev

No package 'libsystemd' found

apt install libsystemd-dev

No package 'openssl' found

apt install libssl-dev

No package 'libzip' found

apt install libzip-dev
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件簸呈,死亡現(xiàn)場(chǎng)離奇詭異榕订,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蜕便,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門劫恒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人轿腺,你說我怎么就攤上這事两嘴。” “怎么了族壳?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵憔辫,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我仿荆,道長(zhǎng)贰您,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任拢操,我火速辦了婚禮锦亦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘令境。我一直安慰自己杠园,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布舔庶。 她就那樣靜靜地躺著抛蚁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惕橙。 梳的紋絲不亂的頭發(fā)上预皇,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天乳讥,我揣著相機(jī)與錄音,去河邊找鬼。 笑死余耽,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼犬钢,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了思灰?” 一聲冷哼從身側(cè)響起玷犹,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎洒疚,沒想到半個(gè)月后歹颓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡油湖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年巍扛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乏德。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡撤奸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出喊括,到底是詐尸還是另有隱情胧瓜,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布郑什,位于F島的核電站府喳,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蘑拯。R本人自食惡果不足惜钝满,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望申窘。 院中可真熱鬧舱沧,春花似錦、人聲如沸偶洋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽玄窝。三九已至,卻和暖如春悍引,著一層夾襖步出監(jiān)牢的瞬間恩脂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工趣斤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留俩块,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像玉凯,于是被迫代替她去往敵國(guó)和親势腮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容