首頁 後端開發 PHP7 編譯安裝PHP7.4(ubuntu)

編譯安裝PHP7.4(ubuntu)

Dec 13, 2021 pm 04:34 PM

本篇文章由PHP7教學專欄來介紹一下關於怎麼編譯安裝PHP7.4(ubuntu)。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

下載PHP7.4原始碼套件

wget https://www.php.net/distributions/php-7.4.26.tar.gz
登入後複製

解壓縮

tar -zxvf php-7.4.26.tar.gz
登入後複製

安裝PHP依賴函式庫

apt-get install libxml2 libxml2-dev sqlite3 libsqlite3-dev libcurl3-dev libxml-dev
登入後複製

執行./configure

# cd 到php源码目录
./configure --prefix=/usr/local/php7 \
--with-config-file-path=/etc \
--with-fpm-user=test \
--with-fpm-group=test \
--with-curl --enable-fpm
登入後複製

注意:這裡只有很少的擴展,因為多的話編譯時間會很長。只是用來測試編譯安裝php,所以就沒有加入很多擴充。如果安裝完成後,後續想要加入更多擴展,又忘記了先前的編譯參數,可以在原始碼目錄 cat config.nice 就可以看到先前的編譯參數。然後加入新的參數重新編譯(別忘了先安裝擴充依賴函式庫)。
執行make && make install
執行make install 可加入 -j 參數,表示同時多個job工作,編譯速度會快一些。

make install -j 2
登入後複製

設定PHP環境變數

1. 開啟檔案

vim /etc/profile
登入後複製

2. 寫入內容

PATH=$PATH:/usr/local/php7/bin
export PATH
登入後複製

3. 使環境變數立即生效

source /etc/profile
登入後複製

4. 輸入php -v 沒有報錯,環境變數設定成功

設定檔

# 修改配置文件 
cd /usr/local/php7/etc 
cp php-fpm.conf.default php-fpm.conf 
cp php-fpm.d/www.conf.default php-fpm.d/www.conf  

# 修改pid文件位置
vim php-fpm.conf
# 添加这行
pid = /run/php-fpm.pid

# 创建php-fpm软链接  
ln -s /usr/local/php7/sbin/php-fpm /usr/sbin/php-fpm
登入後複製

#啟動停止php-fpm

# 启动 
/usr/sbin/php-fpm 
# 关闭 
kill -INT `cat /run/php-fpm.pid` 
# 重启 
kill -USR2 `cat /run/php-fpm.pid`
登入後複製

錯誤處理

#ERROR: [pool www] cannot get uid for user 'test'

1. 原因:由於前面編譯的時候設定了,php-fpm的使用者和使用者群組是test【隨便設定的】(--with-fpm-user=test --with-fpm-group= test),實際上這個使用者跟本不存在,有兩種處理辦法:

  • 建立使用者和使用者群組為test

  • ##修改php-fpm.conf將使用者和使用者群組設定為跟nginx或apache使用者群組一樣即可

  • # 打开php-fpm.conf 
    vim /usr/local/php7/etc/php-fpm.conf
    # 找到位置修改为(我nignx用户组是 www-data user = www-data) 
    group = www-data
    登入後複製
2. ERROR: failed to retrieve TCP_INFO for socket: Protocol not available (92 )

#原因:我用的是windows下的linux子系統(ubuntu系統),不是完全虛擬的系統,會有一點問題,但不影響。在宿主機工作管理員查看php-fpm已經啟動了。

編譯安裝PHP7.4(ubuntu)

解決方案:修改php-fpm.conf

# 方法1: 
listen = /run/php-fpm.sock 
# 方法2 设置 
log_level = alert
登入後複製

新增守護程式##

# PHP源码里有自带的服务脚本,只需要复制到/etc/init.d 目录,加上执行权限就可以了。
# 要注意保持 /usr/local/php7/etc/php-fpm.conf 里面的 pid 文件位置是初始值。原来的是 pid = run/php-fpm.pid
# 在源码目录执行
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
systemctl daemon-reload

# 使用方法与上面相同,也可以使用 systemctl
service php-fpm start 
service php-fpm stop 
service php-fpm restart 
service php-fpm status
# 或者
systemctl start php-fpm
systemctl stop php-fpm
systemctl restart php-fpm
systemctl status php-fpm
登入後複製

以上是編譯安裝PHP7.4(ubuntu)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱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 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)