编译一个支持多线程的php安装包

时间:2019-08-26
本文章向大家介绍编译一个支持多线程的php安装包,主要包括编译一个支持多线程的php安装包使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

原文引用 大专栏  https://www.dazhuanlan.com/2019/08/26/5d633483261e0/




一、前言

因为项目上的需要,需要用到php,一般来说,用默认的版本和配置就可以满足大多数的场景,因为需要加入多线程,所以需要自己编译一个包

一般来说,发行的包的版本的配置选项和代码都是最稳定的,所以在大多数情况下,我都不会直接去拿原始的源码做编译,这里我的经验是用别人发布版本的源码包,然后根据自己的需要,做修改,然后打包,这次的处理方法还是一样

二、获取源码

地址:

https://uk.repo.webtatic.com/yum/el7/SRPMS/RPMS/

这个是webtatic发行的php版本,做了一些修改和优化

选择需要的版本

[root@lab8106 myphp]

解压安装包

[root@lab8106 myphp]

解压完成了后,当前目录下面会有很多文档
修改当前目录下面的php56.spec
在编译相关的configure后面增加

拷贝解压和修改的文档到源码编译目录

[root@lab8106 myphp]# cp -ra * /root/rpmbuild/SOURCES/

三、编译rpm包

[root@lab8106 myphp]# rpmbuild -bb php56.spec

如果提示缺依赖,就把相关的依赖包安装好就可以了,编译环境最好跟最终使用环境是一样的环境,执行完成了以后,会生成rpm安装包

四、增加多线程支持

pecl install pthreads-2.0.9

这个会下载源码,然后自动编译成可用的内核模块,将这个内核模块的配置文档和模块文档拷贝到最终使用环境即可

检查是否安装成功

[root@lab8106 ceph]# php -m|grep pth
pthreads

可用看到已经支持了

五、变更记录

Why Who When
创建 武汉-运维-磨渣 2016-10-10

原文地址:https://www.cnblogs.com/petewell/p/11410973.html