溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ubuntu如何編譯安裝PHP7.4

發(fā)布時間:2021-12-14 17:34:36 來源:億速云 閱讀:439 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關ubuntu如何編譯安裝PHP7.4的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

下載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,所以就沒有加入很多擴展。如果安裝完成后,后續(xù)想要加入更多擴展,又忘記了之前的編譯參數(shù),可以在源碼目錄 cat config.nice 就可以看到以前的編譯參數(shù)。然后加入新的參數(shù)重新編譯(別忘了先安裝擴展依賴庫)。
運行make && make install
運行make install 可加入 -j 參數(shù),表示同時多個job工作,編譯速度會快一些。

make install -j 2

設置PHP環(huán)境變量

1. 打開文件

vim /etc/profile

2. 寫入內(nèi)容

PATH=$PATH:/usr/local/php7/bin
export PATH

3. 使環(huán)境變量立即生效

source /etc/profile

4. 輸入php -v 沒有報錯,環(huán)境變量設置成功

配置文件

# 修改配置文件 
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

# 創(chuàng)建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),實際上這個用戶跟本不存在,有兩種處理辦法:

  • 創(chuàng)建用戶和用戶組為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子系統(tǒng)(ubuntu系統(tǒng)),不是完全虛擬的系統(tǒng),會有一點問題,但是不影響。在宿主機任務管理器查看php-fpm已經(jīng)啟動了。

ubuntu如何編譯安裝PHP7.4

解決辦法:修改php-fpm.conf

# 方法1: 
listen = /run/php-fpm.sock 
# 方法2 設置 
log_level = alert

添加守護進程

# PHP源碼里有自帶的服務腳本,只需要復制到/etc/init.d 目錄,加上執(zhí)行權限就可以了。
# 要注意保持 /usr/local/php7/etc/php-fpm.conf 里面的 pid 文件位置是初始值。原來的是 pid = run/php-fpm.pid
# 在源碼目錄執(zhí)行
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

感謝各位的閱讀!關于“ubuntu如何編譯安裝PHP7.4”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI