摘要:本文以當(dāng)前最新版本演示整個(gè)源碼安裝的流程。下載源碼包訪問(wèn)官網(wǎng)的源碼包下載地址。下載源碼有兩種方式服務(wù)器端使用命令直接下載。
本文以當(dāng)前最新版本 PHP 7.3.1 演示整個(gè)源碼安裝的流程。
下載 PHP 源碼包訪問(wèn) PHP 官網(wǎng)的源碼包下載地址 http://php.net/downloads.php。
如圖所示,PHP 源碼提供了三種壓縮格式,通常壓縮后的文件越小,意味著解壓縮需要的時(shí)間和 CPU 消耗就會(huì)更多,這里要根據(jù)安裝 PHP 的服務(wù)器硬件情況和帶寬選擇合適的壓縮格式,我選擇下載 php-7.3.1.tar.gz。
下載源碼有兩種方式:
服務(wù)器端使用 wget 命令直接下載 。
首先下載到本地,然后通過(guò) FTP 傳到服務(wù)器。
以第一種方法為例,在服務(wù)器端執(zhí)行:
wget -c http://cn2.php.net/distributions/php-7.3.1.tar.gz
點(diǎn)開(kāi)其中一個(gè)壓縮包,右擊 China 的 cn2.php.net 復(fù)制鏈接地址,可以獲得另一個(gè)下載地址,獲取方式如下圖所示:
http://cn2.php.net/get/php-7.3.1.tar.gz/from/this/mirror # 此地址的下載命令,使用 -O 重命名源碼包,否則下載后的文件名會(huì)是 mirror wget -O php-7.3.1.tar.gz http://cn2.php.net/get/php-7.3.1.tar.gz/from/this/mirror
如果需要下載其他版本,只需要修改下載地址中的版本號(hào),例如 php-7.2.14.tar.gz。
安裝 PHP使用 tar 命令解壓 tar.gz 壓縮包:
tar -xzvf php-7.3.1.tar.gz
安裝 PHP 需要的擴(kuò)展庫(kù)
yum install -y libxml2 *openssl* libcurl* libjpeg* libpng* freetype* libzip* libmcrypt*
進(jìn)入解壓后的 php-7.2.4 文件夾,運(yùn)行 configure 可執(zhí)行文件:
./configure --prefix=/mnt/php7 --with-mysqli --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo
如果最后顯示以上界面,說(shuō)明已經(jīng)成功安裝。
由于我測(cè)試的是一個(gè)新的服務(wù)器,所以依次遇到了以下錯(cuò)誤,沒(méi)有出現(xiàn)問(wèn)題可以跳過(guò)這部分:
錯(cuò)誤1:
configure: error: in `/root/php-7.3.1": configure: error: no acceptable C compiler found in $PATH
# 缺少 c 編譯器,安裝 GCC yum install gcc
錯(cuò)誤2:
checking for libzip... configure: error: system libzip must be upgraded to version >= 0.11
# 查看 yum 安裝的 libzip 版本 yum list installed | grep libzip # 發(fā)現(xiàn) yum 安裝的 libzip 版本過(guò)低,卸載低版本 yum remove libzip*
源碼安裝 libzip
# 源碼編譯安裝 libzip 最新版 # libzip 官網(wǎng)地址:https://libzip.org wget https://nih.at/libzip/libzip-1.5.1.tar.gz tar -zxvf libzip-1.5.1.tar.gz cd libzip-1.5.1 ## 查看 INSTALL.md 其中有安裝提示 mkdir build cd build cmake .. make make test make install
上述命令在執(zhí)行 cmake .. 時(shí)報(bào)錯(cuò),使用 yum 安裝了 gcc-c++
yum -y install gcc-c++
又重新源碼編譯安裝了了 Cmake,參考這篇文章 。
錯(cuò)誤3:
error: off_t undefined; check your library configuration
# 添加搜索路徑到配置文件 echo "/usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64">>/etc/ld.so.conf # 更新配置 ldconfig -v
此錯(cuò)誤詳細(xì)解釋參考 https://segmentfault.com/q/10... 中 @代碼狗 的回答。
編譯和安裝
make && make install配置
進(jìn)入 /mnt/php7/sbin,啟動(dòng) php-fpm
[root@localhost sbin]# ./php-fpm [15-Jan-2019 03:32:21] ERROR: failed to open configuration file "/mnt/php7/etc/php-fpm.conf": No such file or directory (2) [15-Jan-2019 03:32:21] ERROR: failed to load configuration file "/mnt/php7/etc/php-fpm.conf" [15-Jan-2019 03:32:21] ERROR: FPM initialization failed
解決辦法:
# 進(jìn)入 /mnt/php7/etc,復(fù)制 php-fpm 的配置文件 [root@localhost etc]# cp php-fpm.conf.default php-fpm.conf # 進(jìn)入 /mnt/php7/etc/php-fpm.d,復(fù)制 php-fpm 的子配置文件: [root@localhost php-fpm.d]# cp www.conf.default www.conf
在運(yùn)行 php-fpm 前,還需要修改其子配置文件中的用戶和用戶組,以 nginx 為例,編輯 /mnt/php7/etc/php-fpm.d 文件:
user = nginx group = nginx
至此就可以啟動(dòng) php-fpm 了。
在命令行下運(yùn)行 php,需要將可執(zhí)行文件復(fù)制到環(huán)境變量下:
cp /mnt/php7/bin/php /usr/local/bin/php # 命令行下查看 php 版本 php -v
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/29971.html
摘要:環(huán)境問(wèn)題如下操作系統(tǒng)版本是否支持不支持版本是否支持不支持是否支持支持是否支持支持重要文件是否完整完整服務(wù)器是否開(kāi)啟安全模式關(guān)閉解決方式版本不能太高,用的會(huì)出現(xiàn)不支持問(wèn)題本次使用的版本為。 環(huán)境:php5.4.45+nginx1.13.6+mysql5.7.20+ecshopV2.7.3 問(wèn)題:如下操作系統(tǒng)............................................
摘要:環(huán)境問(wèn)題如下操作系統(tǒng)版本是否支持不支持版本是否支持不支持是否支持支持是否支持支持重要文件是否完整完整服務(wù)器是否開(kāi)啟安全模式關(guān)閉解決方式版本不能太高,用的會(huì)出現(xiàn)不支持問(wèn)題本次使用的版本為。 環(huán)境:php5.4.45+nginx1.13.6+mysql5.7.20+ecshopV2.7.3 問(wèn)題:如下操作系統(tǒng)............................................
摘要:英文原文是一個(gè)免費(fèi)的極速的端對(duì)端加密數(shù)字貨幣交易系統(tǒng)在本章中,你可以按教程在中創(chuàng)建一個(gè)來(lái)接收用戶消息學(xué)到如何給機(jī)器人轉(zhuǎn)比特幣或者讓機(jī)器人給你轉(zhuǎn)比特幣資源匯總課程簡(jiǎn)介創(chuàng)建一個(gè)接受消息的機(jī)器人機(jī)器人接受比特幣并立即退還用戶如何通過(guò)創(chuàng)建新帳號(hào)創(chuàng)建 英文原文 Mixin Network 是一個(gè)免費(fèi)的 極速的端對(duì)端加密數(shù)字貨幣交易系統(tǒng).在本章中,你可以按教程在Mixin Messenger中創(chuàng)建...
閱讀 1065·2021-11-18 10:02
閱讀 1319·2021-09-23 11:22
閱讀 2623·2021-08-21 14:08
閱讀 1649·2019-08-30 15:55
閱讀 1736·2019-08-30 13:45
閱讀 3187·2019-08-29 16:52
閱讀 3104·2019-08-29 12:18
閱讀 1651·2019-08-26 13:36