摘要:本文以當前最新版本演示整個源碼安裝的流程。下載源碼包訪問官網(wǎng)的源碼包下載地址。下載源碼有兩種方式服務器端使用命令直接下載。
本文以當前最新版本 PHP 7.3.1 演示整個源碼安裝的流程。
下載 PHP 源碼包訪問 PHP 官網(wǎng)的源碼包下載地址 http://php.net/downloads.php。
如圖所示,PHP 源碼提供了三種壓縮格式,通常壓縮后的文件越小,意味著解壓縮需要的時間和 CPU 消耗就會更多,這里要根據(jù)安裝 PHP 的服務器硬件情況和帶寬選擇合適的壓縮格式,我選擇下載 php-7.3.1.tar.gz。
下載源碼有兩種方式:
服務器端使用 wget 命令直接下載 。
首先下載到本地,然后通過 FTP 傳到服務器。
以第一種方法為例,在服務器端執(zhí)行:
wget -c http://cn2.php.net/distributions/php-7.3.1.tar.gz
點開其中一個壓縮包,右擊 China 的 cn2.php.net 復制鏈接地址,可以獲得另一個下載地址,獲取方式如下圖所示:
http://cn2.php.net/get/php-7.3.1.tar.gz/from/this/mirror # 此地址的下載命令,使用 -O 重命名源碼包,否則下載后的文件名會是 mirror wget -O php-7.3.1.tar.gz http://cn2.php.net/get/php-7.3.1.tar.gz/from/this/mirror
如果需要下載其他版本,只需要修改下載地址中的版本號,例如 php-7.2.14.tar.gz。
安裝 PHP使用 tar 命令解壓 tar.gz 壓縮包:
tar -xzvf php-7.3.1.tar.gz
安裝 PHP 需要的擴展庫
yum install -y libxml2 *openssl* libcurl* libjpeg* libpng* freetype* libzip* libmcrypt*
進入解壓后的 php-7.2.4 文件夾,運行 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
如果最后顯示以上界面,說明已經(jīng)成功安裝。
由于我測試的是一個新的服務器,所以依次遇到了以下錯誤,沒有出現(xiàn)問題可以跳過這部分:
錯誤1:
configure: error: in `/root/php-7.3.1": configure: error: no acceptable C compiler found in $PATH
# 缺少 c 編譯器,安裝 GCC yum install gcc
錯誤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 版本過低,卸載低版本 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 .. 時報錯,使用 yum 安裝了 gcc-c++
yum -y install gcc-c++
又重新源碼編譯安裝了了 Cmake,參考這篇文章 。
錯誤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
此錯誤詳細解釋參考 https://segmentfault.com/q/10... 中 @代碼狗 的回答。
編譯和安裝
make && make install配置
進入 /mnt/php7/sbin,啟動 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
解決辦法:
# 進入 /mnt/php7/etc,復制 php-fpm 的配置文件 [root@localhost etc]# cp php-fpm.conf.default php-fpm.conf # 進入 /mnt/php7/etc/php-fpm.d,復制 php-fpm 的子配置文件: [root@localhost php-fpm.d]# cp www.conf.default www.conf
在運行 php-fpm 前,還需要修改其子配置文件中的用戶和用戶組,以 nginx 為例,編輯 /mnt/php7/etc/php-fpm.d 文件:
user = nginx group = nginx
至此就可以啟動 php-fpm 了。
在命令行下運行 php,需要將可執(zhí)行文件復制到環(huán)境變量下:
cp /mnt/php7/bin/php /usr/local/bin/php # 命令行下查看 php 版本 php -v
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/29971.html
摘要:環(huán)境問題如下操作系統(tǒng)版本是否支持不支持版本是否支持不支持是否支持支持是否支持支持重要文件是否完整完整服務器是否開啟安全模式關(guān)閉解決方式版本不能太高,用的會出現(xiàn)不支持問題本次使用的版本為。 環(huán)境:php5.4.45+nginx1.13.6+mysql5.7.20+ecshopV2.7.3 問題:如下操作系統(tǒng)............................................
摘要:環(huán)境問題如下操作系統(tǒng)版本是否支持不支持版本是否支持不支持是否支持支持是否支持支持重要文件是否完整完整服務器是否開啟安全模式關(guān)閉解決方式版本不能太高,用的會出現(xiàn)不支持問題本次使用的版本為。 環(huán)境:php5.4.45+nginx1.13.6+mysql5.7.20+ecshopV2.7.3 問題:如下操作系統(tǒng)............................................
摘要:英文原文是一個免費的極速的端對端加密數(shù)字貨幣交易系統(tǒng)在本章中,你可以按教程在中創(chuàng)建一個來接收用戶消息學到如何給機器人轉(zhuǎn)比特幣或者讓機器人給你轉(zhuǎn)比特幣資源匯總課程簡介創(chuàng)建一個接受消息的機器人機器人接受比特幣并立即退還用戶如何通過創(chuàng)建新帳號創(chuàng)建 英文原文 Mixin Network 是一個免費的 極速的端對端加密數(shù)字貨幣交易系統(tǒng).在本章中,你可以按教程在Mixin Messenger中創(chuàng)建...
閱讀 1058·2021-11-18 10:02
閱讀 1314·2021-09-23 11:22
閱讀 2617·2021-08-21 14:08
閱讀 1643·2019-08-30 15:55
閱讀 1729·2019-08-30 13:45
閱讀 3169·2019-08-29 16:52
閱讀 3100·2019-08-29 12:18
閱讀 1644·2019-08-26 13:36