环境是 centos7 + nginx 1.14 + php 7.2.18,由于新增邮件发送功能,使用的是 socket 通讯的方式,需要开启 php 的 sockes 和 openssl 扩展

安装 sockets 组件

进入源码目录中待操作的组件子目录,并执行 phpize 工具

不删解压后的源码是个好事!使用 cd 命令进入源码目录/ext/sockets 目录,在该目录下运行命令

$ /usr/local/php/bin/phpize

注:/usr/local/php/bin 是php的安装目录,在该目录下应该有 phpize 可执行文件存在

错误应对

如果出现 "Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment vari",则执行以下命令补齐缺失的功能

$ yum install m4
$ yum install autoconf

如果出现 "Cannot find config.m4." ,则将该目录下的 config0.m4 复制并改名到同目录内

$ cp config0.m4 config.m4

再重新运行 phpize

使用 ./configure 进行具体配置

使用命令对要安装的插件进行具体配置,以 sockets 安装为例,运行以下命令

$ ./configure --prefix=/usr/local/php --with-php-config=/usr/local/php/bin/php-config --enable-sockets

注:/usr/local/php是 PHP 安装后的默认目录,/usr/local/php/bin/php-config 也是默认

运行 make && make install

如无错误,继续运行

$ make && make install

如无错误,以下是部分输出结果

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/
Installing header files: /usr/local/php/include/php/

说明 sockets 扩展源码经过编译编程扩展后,安装在了第一行的目录内

修改 PHP.ini 配置,启用扩展

修改 php.ini,默认可以不更改 extension_dir='./' 的值,而只是去掉 extension=sockets 前面的分号注释,使其生效。保存后,重新启动 php-fpm (假设php-fpm在安装后的默认路径下)

$ /etc/init.d/php-fpm reload

查看结果

运行 phpinfo() 函数,在输出页面查看是否有 sockets 的独立显示,并且 Sockets Support 的值为 enabled

安装 Openssl 组件

与安装 sockets 步骤相同,区别是在使用 ./configure 时的语句,不完全一样,使用

$ ./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config

其它步骤相同

Centos7 下 PHP 添加缺少的组件 sockets 和 openssl的更多相关文章

  1. centos7下nginx添加到自定义系统服务中提示Access denied

    安装好nginx后,添加到系统服务中 在/usr/lib/systemd/system下创建nginx.service文件内容如下: [Unit] Description=nginx - high p ...

  2. centos7下kubernetes(4.kubernetes组件)

    Kubenetes cluster 由master和node组成 Master是kubenetes的大脑.运行着以下进程:kube-apiserver.kube-scheduler.kube-cont ...

  3. centos7下添加win7引导

    这次在centos7下添加为win7引导的过程可谓是一波三折,首先是在网上找教程,这个过程还是很顺利的,通不断的 搜索,找到了两个办法.第一个办法就是在root下执行这样的一个命令: grub2-mk ...

  4. 为Ext添加下拉框和日期组件

    Ext.onReady(function(){ var config = { fields:['module'], data:[['新建'],['删除'],['增加']}; var store = n ...

  5. Centos7下搭建LAMP平台环境

    1.启用Apache2 Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start httpd. ...

  6. Centos7下搭建LAMP平台环境 (转载)

     1.启用Apache(httpd) Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start ...

  7. CentOS7下用jdk1.7编译hadoop-2.7.1全过程详解

    说实话,本人编译hadoop的过程比较曲折,但收获也很多,下面系统介绍一下CentOS7下编译hadoop-2.7.1的全过程吧. 先说明,32位Linux操作系统可以直接下载编译好的hadoop使用 ...

  8. [Kubernetes]CentOS7下Etcd集群搭建

    Etcd简要介绍 Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息 Etcd构建自身高可用集群主要有三种形式: ①静态发现: 预先已知 Etcd 集 ...

  9. 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,

    第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...

随机推荐

  1. CodeForces - 556C Case of Matryoshkas (水题)

    Andrewid the Android is a galaxy-famous detective. He is now investigating the case of vandalism at ...

  2. Python 单线程下实现多个socket并发

    ## 客户端 import socket import gevent import threading import multiprocessing ip_bind = ('127.0.0.1',80 ...

  3. 一起学MyBatis之入门篇(2)

    概述 本文主要讲解MyBatis中类型转换的功能,其实在MyBatis中,提供了默认的数据类型之间的转换,但只是基本数据类型的转换,如果跨类型进行转换,则需要自定义转换类,如java中是boolean ...

  4. C#线程学习笔记四:线程同步

    本笔记摘抄自:https://www.cnblogs.com/zhili/archive/2012/07/21/ThreadsSynchronous.html,记录一下学习过程以备后续查用.     ...

  5. NPOI 设置下拉列表

    HSSFWorkbook workbook = new HSSFWorkbook();//创建工作簿 ISheet sheet = workbook.CreateSheet();//创建sheet页 ...

  6. 《漫画ERP》经典文章摘抄

    1.对企业来说,应用ERP的价值就在于通过系统的计划和控制功能,结合企业的流程优化,有效的配置各项资源,以加快对市场的响应,降低成本,提高效率和效益,从而提升企业的竞争力:

  7. 一个故事搞懂Java并发编程

    最近在给别人讲解Java并发编程面试考点时,为了解释锁对象这个概念,想了一个形象的故事.后来慢慢发现这个故事似乎能讲解Java并发编程中好多核心概念,于是完善起来形成了了这篇文章.大家先忘记并发编程, ...

  8. PageRank算法小结

    PageRank 这个学期选了数据挖掘的课程,期末要做一个关于链接分析算法的报告,这是PR算法的小结. 算法 PR算法基于等级权威的思想,及不仅考虑指向该网页的链接数,同时也考虑指向该网页网站的重要程 ...

  9. 【STM32-V5】STM32F407开发板开源, 丰富软件资源, 强劲硬件配置, 配套500实例, 10套手册带视频教程2019-12-12

    淘宝购买地址:购买地址链接 从2013年5月份发布至今,开发板硬件更新过6个版本,软件资料更新过85次.当前标准库最新版本V8.8,HAL库最新版本V1.1 安富莱微信公共平台,欢迎大家关注(打造高质 ...

  10. java开发两三事(2)-java多数据源+java8stream与LocalDateTime时间差

    1. 场景描述 最近在工作中碰到的几个问题,有点坑,记录下,遇到相同或类似问题的朋友可以参考下. 2. 解决方案 2.1 拼接sql后,多数据源执行 采用Spring+DruidDataSource数 ...