环境是 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

其它步骤相同

最新文章

  1. iOS开发中调试小技巧
  2. 免费电子书:C#代码整洁之道
  3. ajax和servlet交互,表单日历插件,表单验证,form.js
  4. struts配置请求后缀,将.action改为.do、.doaction_2015.01.04
  5. python--介绍
  6. 解密电子书之三:MCU(君正)
  7. spring 里面的StringUtils,先放这儿,有时间研究吧
  8. 前端之CSS介绍--选择器
  9. 阿里云学习之API网关
  10. Servlet3.0注解@WebInitParam和@WebServlet
  11. MySql 引擎
  12. java的eclipse的使用
  13. C/C++ 字符串分割: strtok 与 strsep 函数说明
  14. Python反转
  15. Unix环境高级编程(十)信号续
  16. Intellij IDEA常用快捷键和一些配置——Mac版
  17. [Linux] du-查看文件夹大小-并按大小进行排序
  18. (转)Pig 重写加载函数和存储函数UDF
  19. RSA加密破解
  20. Web前端开发面试技巧

热门文章

  1. static介绍、内部类、final、权限修饰符的作用范围
  2. 【搞定Jvm面试】 面试官:谈谈 JVM 类文件结构的认识
  3. python基础知识第七篇(练习)
  4. 小米开源数据库<pegasus>简介
  5. UWP 利用Windows.UI.Composition实现简单的放大🔍效果
  6. 剑指offer-47:不用加减乘除做加法
  7. Linux中获取本机的最新IPv6地址_更新ddns的脚本
  8. 删除列表中重复元素以及求list中元素个数
  9. <科普>CPU进行四则运算(加减乘除)的主流方法
  10. 8 种经常被忽视的 SQL 错误用法,你有没有踩过坑?