前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux[CentOS]下编译安装Php7.3 步骤【附编译错误解决】

Linux[CentOS]下编译安装Php7.3 步骤【附编译错误解决】

作者头像
无道
发布2019-11-13 16:50:56
4.2K0
发布2019-11-13 16:50:56
举报
文章被收录于专栏:无道编程无道编程

前言

上一篇讲了如何在Centos下编译安装nginx服务器,但是Nginx服务器目前只能当做静态服务器使用,也即只能展示前端静态页面,没有动态语言来结合。

本篇文章来讲下如何从源码编译安装php

编译安装是需要很长时间的

步骤

安装依赖

更新依赖包:

代码语言:javascript
复制
yum -y update

安装依赖:

代码语言:javascript
复制
yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel libzip gcc-c++
截图-1571662673
截图-1571662673
下载源码

官网下载页面:https://www.php.net/downloads.php

目前官最新版是7.3,我们就安装最新版的吧。

截图-1571486498
截图-1571486498
代码语言:javascript
复制
wget -c https://www.php.net/distributions/php-7.3.10.tar.gz
截图-1571486613
截图-1571486613
解压
代码语言:javascript
复制
 tar -zxvf php-7.3.10.tar.gz
截图-1571487234
截图-1571487234
添加用户和组
代码语言:javascript
复制
groupadd www
useradd -g www www
截图-1571662871
截图-1571662871
配置参数

首先需要进入解压后的目录

代码语言:javascript
复制
cd php-7.3.10 
截图-1571487302
截图-1571487302

如图,目录里面还是痛Nginx有一个configure可执行文件,用以配置安装时的参数

那么配置哪些参数?

代码语言:javascript
复制
./configure \
 --prefix=/usr/local/php\
 --enable-fpm\
 --with-fpm-user=www\
 --with-fpm-group=www\
 --with-config-file-path=/usr/local/php/conf\
 --disable-rpath\
 --enable-soap\
 --with-libxml-dir\
 --with-xmlrpc\
 --with-openssl\
 --with-mhash\
 --with-pcre-regex\
 --with-zlib\
 --enable-bcmath\
 --with-bz2\
 --enable-calendar\
 --with-curl\
 --enable-exif\
 --with-pcre-dir\
 --enable-ftp\
 --with-gd\
 --with-openssl-dir\
 --with-jpeg-dir\
 --with-png-dir\
 --with-zlib-dir\
 --with-freetype-dir\
 --enable-gd-jis-conv\
 --with-gettext\
 --with-gmp\
 --with-mhash\
 --enable-mbstring\
 --with-onig\
 --with-mysqli=mysqlnd\
 --with-pdo-mysql=mysqlnd\
 --with-zlib-dir\
 --with-readline\
 --enable-shmop\
 --enable-sockets\
 --enable-sysvmsg\
 --enable-sysvsem \
 --enable-sysvshm \
 --enable-wddx\
 --with-libxml-dir\
 --with-xsl\
 --enable-zip\
 --with-pear

如上是我网上找的一个配置参数,而且看了下,感觉挺全。说一些较重要的吧:

--prefix=/usr/local/php 安装目录,如nginx我们安装到了/usr/local/nginx --with-config-file-path=/usr/local/php/etc 配置文件目录,我觉得这样挺好,就在/usr/local/php下面的etc,而不是系统的/etc里面。

题外 由于本次选择了安装7.3最新版,结果出师不利,配置时一直报错:

截图-1571488784
截图-1571488784

configure: error: Please reinstall the libzip distribution 解决步骤: A. 先安装最新cmake,这一步的时间不短,可尝试直接进入B。 cd /usr/local/src wget https://github.com/Kitware/CMake/releases/download/v3.14.3/cmake-3.14.3.tar.gz tar -zxvf cmake-3.14.3.tar.gz cd cmake-3.14.3 ./bootstrap make && make install

截图-1571664383
截图-1571664383

B. 再编译安装libzip yum remove libzip -y cd /usr/local/src wget https://libzip.org/download/libzip-1.5.2.tar.gz tar -zxvf libzip-1.5.2.tar.gz cd libzip-1.5.2 mkdir build cd build cmake .. make && make install 步骤A编译挺慢的,但是步骤A完成后,B还是挺快的。 C. 继续报错: error: off_t undefined; check your library configuration vi /etc/ld.so.conf #添加如下几行 /usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64 #保存退出 :wq ldconfig -v # 使之生效 错误代码解决,参考的此篇文章:https://blog.csdn.net/ijijni/article/details/89913738

编译安装

以上错误解决后,再执行下./configure命令,

截图-1571664675
截图-1571664675

然后没报错后,执行以下命令:

代码语言:javascript
复制
make && make install

此步编译又是需要不少的时间的,可以喝一杯咖啡,或者洗澡【如现在的我】 安装完毕

截图-1571665763
截图-1571665763
添加环境变量
代码语言:javascript
复制
vi /etc/profile
#添加以下内容到最后
PATH=$PATH:/usr/local/php/bin
export PATH
#刷新环境变量
source /etc/profile
配置文件复制
代码语言:javascript
复制
mkdir /usr/local/php/conf
cp php.ini-production /usr/local/php/conf/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

执行以上命令是在解压的php源码目录

测试
代码语言:javascript
复制
php -v
截图-1571666016
截图-1571666016
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 步骤
    • 安装依赖
      • 下载源码
        • 解压
          • 添加用户和组
            • 配置参数
              • 编译安装
                • 添加环境变量
                  • 配置文件复制
                    • 测试
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档