一,下载php7.4

1,官方网站:

https://www.php.net/

2,下载

[root@yjweb source]# wget https://www.php.net/distributions/php-7.4.2.tar.gz

说明:在linux上以编译方式安装软件时,多数人都习惯把软件安装到 /usr/local目录下,

我们在生产环境中的习惯使用两个目录:

/usr/local/source    保存源码/rpm安装包

/usr/local/soft         保存安装的软件

之所以这样区分,是为了把当时下载的源码或安装包也保存一份,

一来以后用到时能了解到当时的版本

二来如果需要重新编译时也无需去各软件的官网上去找历史版本

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,查看本地的centos的版本

[root@localhost lib]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)

三,解压和配置

1,解压命令和configure命令

[root@yjweb source]# tar -zxvf php-7.4.2.tar.gz
[root@yjweb source]# cd php-7.4.2/
[root@yjweb php-7.4.2]# ./configure --prefix=/usr/local/soft/php7 --with-curl --with-freetype --enable-gd --with-jpeg --with-gettext --with-iconv-dir=/usr/local --with-kerberos --with-libdir=lib64 --with-libxml --with-mysqli --with-openssl --with-pdo-mysql --with-pdo-sqlite --with-pear --enable-sockets --with-mhash --with-ldap-sasl --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --with-zip --with-config-file-path=/usr/local/soft/php7/etc -with-bz2 --enable-inline-optimization --enable-sysvsem

说明:上面的configure命令的参数是php-7.4.2可用的参数,

一些旧的不可用的参数会在configure时给出提示,

大家不要使用已经废弃的参数,避免安装完成后不能正常使用

2,安装命令:

[root@yjweb php-7.4.2]# make && make install

四,配置过程中遇到各种报错信息的处理

1,报错:Package 'libxml-2.0', required by 'virtual:world', not found

解决:

[root@localhost php-7.4.2]# yum install libxml2-devel

2,报错:Package 'krb5', required by 'virtual:world', not found

解决:

[root@localhost php-7.4.2]# yum install krb5-devel

3,报错:Package 'openssl', required by 'virtual:world', not found

解决:

[root@localhost php-7.4.2]# yum install openssl-devel

4,报错:Package 'sqlite3', required by 'virtual:world', not found

解决:

[root@localhost php-7.4.2]# yum install sqlite-devel

5,报错:Package 'libcurl', required by 'virtual:world', not found

解决:

[root@localhost php-7.4.2]# yum install libcurl-devel

6,报错:Package 'oniguruma', required by 'virtual:world', not found

解决:

参见:CentOS 8 安装 oniguruma 和 oniguruma-devel 一文
地址:https://www.cnblogs.com/architectforest/p/12433640.html

7,报错:Package 'libxslt', required by 'virtual:world', not found

解决:

[root@localhost php-7.4.2]# yum install libxslt-devel

8,报错:Package 'libjpeg', required by 'virtual:world', not found

解决:

[root@localhost php-7.4.2]# yum install libjpeg-devel

9,报错:Package 'libzip', required by 'virtual:world', not found

解决:

[root@localhost php-7.4.2]# yum install libzip-devel

10,报错:configure: error: Please reinstall the BZip2 distribution

解决:

[root@yjweb php-7.4.2]# yum -y install bzip2-devel

11,报错:Package 'libpng', required by 'virtual:world', not found

解决:

[root@yjweb php-7.4.2]# yum install libpng-devel

12,报错:Package 'freetype2', required by 'virtual:world', not found

解决:

[root@yjweb php-7.4.2]# yum install freetype-devel

五,生成php配置文件

[root@yjweb php-7.4.2]# cp php.ini-production /usr/local/soft/php7/etc/php.ini

六,生成www配置文件

[root@yjweb etc]# cd /usr/local/soft/php7/etc/php-fpm.d/
[root@yjweb php-fpm.d]# cp www.conf.default www.conf

七,生成php-fpm配置文件

[root@yjweb etc]# cd /usr/local/soft/php7/etc
[root@yjweb etc]# cp php-fpm.conf.default php-fpm.conf

八,生成php-fpm服务启动文件

[root@yjweb etc]# mkdir /usr/local/soft/php7/daemon
[root@yjweb etc]# cp /usr/local/source/php-7.4.2/sapi/fpm/init.d.php-fpm /usr/local/soft/php7/daemon/php-fpm
[root@yjweb etc]# chmod 740 /usr/local/soft/php7/daemon/php-fpm

九,测试启动php-fpm

[root@yjweb etc]# /usr/local/soft/php7/daemon/php-fpm start
Starting php-fpm done

[root@yjweb etc]# ps auxfww | grep php | grep -v grep
root 30476 0.0 0.0 141260 10948 ? Ss 11:40 0:00 php-fpm: master process (/usr/local/soft/php7/etc/php-fpm.conf)
nobody 30477 0.0 0.0 167012 10404 ? S 11:40 0:00 \_ php-fpm: pool www
nobody 30478 0.0 0.0 167012 10404 ? S 11:40 0:00 \_ php-fpm: pool www

十,如何查看当前已安装的php的版本?

[root@yjweb etc]# /usr/local/soft/php7/bin/php -v
PHP 7.4.2 (cli) (built: Mar 5 2020 11:16:38) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

十一,查看本地centos的版本

[webop@yjweb ~]$ cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

centos8安装php7.4的更多相关文章

  1. Centos8(Liunx) 中安装PHP7.4 的三种方法和删除它的三种方法

    编译安装 Centos8下PHP源码编译和通过yum安装的区别和以后的选择 其实这两种方法各有千秋: yum安装: 从yum安装来说吧,yum相当于是自动化帮你安装,你不用管软件的依赖关系,在yum安 ...

  2. CentOS 7.1编译安装PHP7

    原文: https://typecodes.com/web/centos7compilephp7.html?utm_source=tuicool&utm_medium=referral 1 创 ...

  3. 编译安装PHP7并安装Redis扩展Swoole扩展

    编译安装PHP7并安装Redis扩展Swoole扩展 在编译php7的机器上已经有编译安装过php5.3以上的版本,从而依赖库都有了 本php7是编译成fpm-php 使用的, 如果是apache那么 ...

  4. centos 7.2 安装PHP7.1+apache2.4.23

    安装准备:   http://ftp.cuhk.edu.hk/pub/packages/apache.org//httpd/httpd-2.4.23.tar.gz 下载apache http://cn ...

  5. 【安装PHP】如何在openSUSE42.1下编译安装PHP7

    首先推荐一篇文章PHP 7 Release Date Arrived: Will Developers Adopt PHP 7? - PHP Classes blog. 里面说到是否会去使用PHP7, ...

  6. centos6.4下安装php7+nginx+mariadb环境

    一,安装php71,创建php用户和用户组,并在github下载php7源码#新建php用户和php组# groupadd -r php && useradd -r -g php -s ...

  7. 搭建LNAMP环境(四)- 源码安装PHP7

    上一篇:搭建LNAMP环境(三)- 源码安装Apache2.4 一.安装PHP7 1.yum安装编译php需要的包 yum -y install libxml2 libxml2-devel curl- ...

  8. WINDOWS和Linux上安装php7 alpha 并安装 yaf

    WINDOWS和Linux上安装php7 alpha 并安装 yaf PHP技术  widuu  2个月前 (06-15)  126浏览  0评论 windows 1.windows上安装 php7 ...

  9. Centos 7 通过YUM安装 PHP7 NGINX1.1.8 POSTGRESQL9.5

    转载 1.最小化安装CENTOS7 2.更新源: yum update reboot 3.安装扩展源: yum install epel-release 4.安装工具软件: yum install w ...

随机推荐

  1. .NET Core表达式树的梳理

    最近要重写公司自己开发的ORM框架:其中有一部分就是查询的动态表达式:于是对这方面的东西做了一个简单的梳理 官网的解释: 表达式树以树形数据结构表示代码,其中每一个节点都是一种表达式,比如方法调用和  ...

  2. Docker实战(4):Docker错误记一笔

    创建容器的时候报错WARNING: IPv4 forwarding is disabled. Networking will not work. 解决办法: vim /usr/lib/sysctl.d ...

  3. TB级倾斜模型加载速度太慢?这是我见过最快的加载方式没有之一

    随着无人机性能快速提升,单个项目涉及到的倾斜摄影模型数据范围.数据量及单个模型体积也在不断变大,带来的问题是数据显示速度却越来越慢,那么如何在不升级配置的情况下提升模型的加载速度呢?   TB级倾斜摄 ...

  4. ES6 常用总结——第二章(字符串的扩展)

    ES6为字符串添加了遍历器接口,使得字符串可以被for...of循环遍历. for (let codePoint of 'foo') { console.log(codePoint)} // &quo ...

  5. 解释器与JIT编译器

    解释器 JVM设计者们的初衷仅仅只是单纯地为了满足Java程序实现跨平台特性,因此避免采用静态编译的方式直接生成本地机器指令,从而诞生了实现解释器在运行时采用逐行解释字节码执行程序的想法. 解释器真正 ...

  6. Oracle学习(六)存储过程

    一.简介 1.定义 所谓存储过程,就是一段存储在数据库中执行某块业务功能的程序模块. 它是由一段或者多段的PL/SQL代码块或者SQL语句组成的一系列代码块. 2.结构分析 create [or re ...

  7. 安装了高版本OS X 之后无法使用MacPorts的port命令

    安装了高版本OS X 之后无法使用MacPorts的port命令 pod update提示: Current platform "darwin 14" does not match ...

  8. 深入总结Javascript原型及原型链

    本篇文章给大家详细分析了javascript原型及原型链的相关知识点以及用法分享,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. 我们创建的每个函数都有一个 prot ...

  9. std(标准库)和STL(标准模板库)的关系

    C++标准库的内容分为10类: C1.语言支持 C2.输入/输出 C3.诊断 C4.一般工具 C5.字符串 C6.容器 C7.迭代器支持 C8.算法 C9.数值操作 C10.本地化: 下面分类详解: ...

  10. Linux学习笔记-vi(一)

    vim编辑命令 vim命令的三种模式: 1.命令模式: vi file.txt  进入vi模式,默认为命令模式,命令模式移动光标. 2.插入模式 i (insert):在光标前插入内容 a(appen ...