新聞中心
本篇文章由php7教程欄目給大家介紹一下關(guān)于怎么編譯安裝PHP7.4(ubuntu)。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的新疆網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
下載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
設(shè)置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)境變量設(shè)置成功
配置文件
# 修改配置文件 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 # 關(guān)閉 kill -INT `cat /run/php-fpm.pid` # 重啟 kill -USR2 `cat /run/php-fpm.pid`
錯誤處理
ERROR: [pool www] cannot get uid for user 'test'
1. 原因:由于前面編譯的時候設(shè)置了,php-fpm的用戶和用戶組是test【隨便設(shè)置的】(--with-fpm-user=test --with-fpm-group=test),實際上這個用戶跟本不存在,有兩種處理辦法:
-
創(chuàng)建用戶和用戶組為test
-
修改php-fpm.conf將用戶和用戶組設(shè)置為跟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),會有一點問題,但是不影響。在宿主機任務(wù)管理器查看php-fpm已經(jīng)啟動了。
解決辦法:修改php-fpm.conf
# 方法1: listen = /run/php-fpm.sock # 方法2 設(shè)置 log_level = alert
# PHP源碼里有自帶的服務(wù)腳本,只需要復(fù)制到/etc/init.d 目錄,加上執(zhí)行權(quán)限就可以了。 # 要注意保持 /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
文章標(biāo)題:編譯安裝PHP7.4(ubuntu)
分享路徑:http://m.5511xx.com/article/cdcegie.html


咨詢
建站咨詢
