Centos7 下 PHP 添加缺少的组件 sockets 和 openssl
环境是 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的更多相关文章
- centos7下nginx添加到自定义系统服务中提示Access denied
安装好nginx后,添加到系统服务中 在/usr/lib/systemd/system下创建nginx.service文件内容如下: [Unit] Description=nginx - high p ...
- centos7下kubernetes(4.kubernetes组件)
Kubenetes cluster 由master和node组成 Master是kubenetes的大脑.运行着以下进程:kube-apiserver.kube-scheduler.kube-cont ...
- centos7下添加win7引导
这次在centos7下添加为win7引导的过程可谓是一波三折,首先是在网上找教程,这个过程还是很顺利的,通不断的 搜索,找到了两个办法.第一个办法就是在root下执行这样的一个命令: grub2-mk ...
- 为Ext添加下拉框和日期组件
Ext.onReady(function(){ var config = { fields:['module'], data:[['新建'],['删除'],['增加']}; var store = n ...
- Centos7下搭建LAMP平台环境
1.启用Apache2 Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start httpd. ...
- Centos7下搭建LAMP平台环境 (转载)
1.启用Apache(httpd) Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start ...
- CentOS7下用jdk1.7编译hadoop-2.7.1全过程详解
说实话,本人编译hadoop的过程比较曲折,但收获也很多,下面系统介绍一下CentOS7下编译hadoop-2.7.1的全过程吧. 先说明,32位Linux操作系统可以直接下载编译好的hadoop使用 ...
- [Kubernetes]CentOS7下Etcd集群搭建
Etcd简要介绍 Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息 Etcd构建自身高可用集群主要有三种形式: ①静态发现: 预先已知 Etcd 集 ...
- 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,
第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...
随机推荐
- 1. 初探--prometheus调研
一.基本概念 Prometheus 是由前 Google 工程师从 2012 年开始在 Soundcloud 以开源软件的形式进行研发的系统监控和告警工具包,自此以后,许多公司和组织都采用了 Prom ...
- CSDN Markdown编辑器插入代码块时不能代码高亮
当我们点击插入代码块按钮,会提示我们在这里插入代码片,我们在三个单引号对之间输入代码后发现并没有实现代码块高亮, 如下图所示: <!DOCTYPE html> <html lang= ...
- python基础知识第二篇(字符串)
基本数据类型 数字 整形 int ---int 将字符串 ...
- ActiveMQ消息队列从入门到实践(4)—使用Spring JMS收发消息
Java消息服务(Java Message Service ,JMS)是一个Java标准,定义了使用消息代理的通用API .在JMS出现之前,每个消息代理都有私有的API,这就使得不同代理之间的消息代 ...
- 【每天一题】LeetCode 172. 阶乘后的零
开源地址:点击该链接 题目描述 https://leetcode-cn.com/problems/factorial-trailing-zeroes 给定一个整数 n,返回 n! 结果尾数中零的数量. ...
- composer入门 一些简单常用的命令介绍
composer是什么 composer是PHP的插件依赖管理工具,我个人感觉和java的Maven.Gradle很类似. Windows OS下安装composer 参考: https://www. ...
- python基础之字符串讲解(上)
字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或者")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.For example: 为str输入一个变量,p ...
- Linux 终端(TTY)
TTY 是 Teletype 或 Teletypewriter 的缩写,原来是指电传打字机,后来这种设备逐渐键盘和显示器取代.不管是电传打字机还是键盘显示器,都是作为计算机的终端设备存在的,所以 TT ...
- torch 中各种图像格式转换
PIL:使用python自带图像处理库读取出来的图片格式 numpy:使用python-opencv库读取出来的图片格式 tensor:pytorch中训练时所采取的向量格式(当然也可以说图片) PI ...
- Checkedlistbox只能单选不能多选
private void Checkedlistbox_ItemCheck(object sender, ItemCheckEventArgs e) { ; i < chkCountry.Ite ...