资讯专栏INFORMATION COLUMN

源码安装 PHP 7.3

freecode / 1484人阅读

摘要:本文以当前最新版本演示整个源码安装的流程。下载源码包访问官网的源码包下载地址。下载源码有两种方式服务器端使用命令直接下载。

本文以当前最新版本 PHP 7.3.1 演示整个源码安装的流程。

下载 PHP 源码包

访问 PHP 官网的源码包下载地址 http://php.net/downloads.php。

如图所示,PHP 源码提供了三种压缩格式,通常压缩后的文件越小,意味着解压缩需要的时间和 CPU 消耗就会更多,这里要根据安装 PHP 的服务器硬件情况和带宽选择合适的压缩格式,我选择下载 php-7.3.1.tar.gz

下载源码有两种方式:

服务器端使用 wget 命令直接下载 。

首先下载到本地,然后通过 FTP 传到服务器。

以第一种方法为例,在服务器端执行:

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 可执行文件:

./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

如果最后显示以上界面,说明已经成功安装。


由于我测试的是一个新的服务器,所以依次遇到了以下错误,没有出现问题可以跳过这部分:

错误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

# 发现 yum 安装的 libzip 版本过低,卸载低版本
yum remove libzip*

源码安装 libzip

# 源码编译安装 libzip 最新版
# libzip 官网地址: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

上述命令在执行 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,需要将可执行文件复制到环境变量下:

cp /mnt/php7/bin/php /usr/local/bin/php

# 命令行下查看 php 版本
php -v

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29971.html

相关文章

  • Lamp 安装

    摘要:前期准备版本编译包要关闭的程序设置安装步骤检测是否安装了如果存在就删除建立一个用户数据库数据文件路径修改的权限安装编译所需文件或程序找到进行解压进行配置详细参数介绍是的路 前期准备 Linux 版本: Centos6.5编译包:mysql-5.7.3-m13.tar.gzapr-util-1.5.4.tar.gzapr-1.5.2.tar.gz php-5.4.13.tar.gzhtt...

    xingpingz 评论0 收藏0
  • CentOS7安装ecshopV2.7.3过程中mysql不支持问题

    摘要:环境问题如下操作系统版本是否支持不支持版本是否支持不支持是否支持支持是否支持支持重要文件是否完整完整服务器是否开启安全模式关闭解决方式版本不能太高,用的会出现不支持问题本次使用的版本为。 环境:php5.4.45+nginx1.13.6+mysql5.7.20+ecshopV2.7.3 问题:如下操作系统............................................

    sunny5541 评论0 收藏0
  • CentOS7安装ecshopV2.7.3过程中mysql不支持问题

    摘要:环境问题如下操作系统版本是否支持不支持版本是否支持不支持是否支持支持是否支持支持重要文件是否完整完整服务器是否开启安全模式关闭解决方式版本不能太高,用的会出现不支持问题本次使用的版本为。 环境:php5.4.45+nginx1.13.6+mysql5.7.20+ecshopV2.7.3 问题:如下操作系统............................................

    XUI 评论0 收藏0
  • CentOS7安装ecshopV2.7.3过程中mysql不支持问题

    摘要:环境问题如下操作系统版本是否支持不支持版本是否支持不支持是否支持支持是否支持支持重要文件是否完整完整服务器是否开启安全模式关闭解决方式版本不能太高,用的会出现不支持问题本次使用的版本为。 环境:php5.4.45+nginx1.13.6+mysql5.7.20+ecshopV2.7.3 问题:如下操作系统............................................

    UCloud 评论0 收藏0
  • 基于Mixin Network的PHP比特币开发教程 之一:创建机器人

    摘要:英文原文是一个免费的极速的端对端加密数字货币交易系统在本章中,你可以按教程在中创建一个来接收用户消息学到如何给机器人转比特币或者让机器人给你转比特币资源汇总课程简介创建一个接受消息的机器人机器人接受比特币并立即退还用户如何通过创建新帐号创建 英文原文 Mixin Network 是一个免费的 极速的端对端加密数字货币交易系统.在本章中,你可以按教程在Mixin Messenger中创建...

    Gemini 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<