202004-22 PHP代码优化 HOT 牢记这个优化处理不失为 一个好主意,因为并不是所有的指令优化器都会做同样的优化处理,并且存在大量没有装配指令优化器的互联网服务提供商(ISPs)和服务器。mod_zip可作为Apache模块,用来即时压缩你的数据,并可让数据传输量降低80%。 继续阅读 >
202004-22 [PHP] 基于redis的分布式锁防止高并发重复请求 HOT 我们先举个某系统验证的列子:(A渠道系统,业务B系统,外部厂商C系统) (1)B业务系统调用A渠道系统,验证传入的手机、身份证、姓名三要素是否一致。 (2)A渠道系统再调用外部厂商C系统。 (3)A渠道系统将结果返回给B业务系统。 继续阅读 >
202004-21 PHP项目采用多个Docker镜像的方式在Kubernets平台的部署范例 HOT 组织的容器支持docker-compose部署,组织的容器支持kubernets部署。以php框架thinkphp为示例,演示php项目的kubernets部署。 继续阅读 >
202004-21 PHP 项目实践中的自动加载实现 HOT 使用spl_autoload_register函数注册一个自己定义的自动加载函数。当在代码中new一个不存在的类的时候,上面的函数会被调用,不存在的类名会被作为参数传入该函数中 继续阅读 >
202004-20 swoole网络编程--Server篇 HOT 服务端,我们平时工作学习中接触比较多的就是 nginx 和 apache 作为 webServer,二者都是通过监听某个端口对外提供服务, swoole 的 server 也不例外,同样需要绑定端口,才可以提供给客户端相关服务; 继续阅读 >
202004-20 你真的知道 Swoole 的进程模型吗? HOT 计算机的核心是 CPU ,它承担了所有的计算任务,就像一座工厂,时刻在运行。 从上面的例子可以知道进程是由多个线程组成的,一个进程至少要有一个线程,实际上,线程是操作系统中最小的执行单元 继续阅读 >
202004-20 Homestead 使用 pecl 安装 swoole 扩展 HOT 背景说明: 公司现有项目是基于laravle5.5开发的,随着业务的增长php及框架的短板也凸显出来,于是准备使用swoole扩展来解决并发问题,以下是记录安装swoole的过程。 环境说明及版本说明: Homestead v10.7.0 swoole v4.4.17 php v7.3 继续阅读 >
202004-18 Swoole协程的执行顺序? HOT 经常会有人通过QQ或微信向我提一些Swoole开发过程中的一些问题,只要时间允许的情况下,我一般都会做解答,下面列出在Swoole社区里的2个有意思的问题 继续阅读 >
202004-18 Swoole协程模式实现Mysql连接池 HOT 连接池定义 永不断开,要求我们的这个程序是一个常驻内存的程序。数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。 继续阅读 >
202004-18 协程与Swoole框架的相关应用 HOT 协程(Coroutine)也叫用户态线程,其通过协作而不是抢占来进行切换。相对于进程或者线程,协程所有的操作都可以在用户态完成,创建和切换的消耗更低。协程是进程的补充,或者是互补关系。 继续阅读 >
202004-18 使用Swoole协程实现 WebRTC 信令服务器 HOT 简单来说,WebRTC 是一个音视频处理+及时通讯的开源库。在实时通信中,音视频的采集和处理是一个很复杂的过程。比如音视频流的编解码、降噪和回声消除等。由Google发起开源,其中包含视频音频采集,编解码,数据传输,音视频展示等功能,我们可以通过技术快速地构建出一个音视频通讯应用。虽然其名为WebRTC,但是实际上它不只是支持Web之间的音视频通讯,还支持Android以及IOS端,此外由于该项目是开源的,我们也可以通过编译C++代码,从而达到全平台的互通。 继续阅读 >
202004-18 使用Swoole协程一键代理PHP-FPM服务 HOT 在Swoole最新发布的v4.5(RC)版本中,我们实现了一项非常有意思的新特性,那就是协程版本的FastCGI客户端。 那么什么是FastCGI呢?首先先来一个官方解释:快速通用网关接口是一种让交互程序与Web服务器通信的协议。 继续阅读 >
202004-13 php随机生成验证图片 HOT 为了防止用户利用机器人自动注册、登录、灌水,现在的网站一般都采用了验证码技术,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。 继续阅读 >
202004-13 Kafka生产者的客户端(PHP)开发 HOT 虽然 Kafka 是用 Java/Scala 语言编写的,但这不妨碍它对多语言的支持。可以在 Kafka 官网的查看 Kafka 支持的语言,其中包括 C/C++、Python、Go 等语言。 继续阅读 >
202004-11 这可能是搭建Zookeeper集群介绍最全的文章 HOT Docker方式不太建议,要考虑的东西比较多,如果要用Docker方式还是比较建议自建镜像,假如是Docker专家可以忽略本句。 以下介绍的都是Linux服务器下搭建(Winserver服务器的也是雷同)先操作单机,再copy到其他机器。下载完Zookeeper(下称zk)后,进入zk解压目录下的conf文件夹,zoo_sample.cfg是zk的配置文件实例,Copy一个出来命名为zoo.cfg zk默认会读这个配置。 继续阅读 >
202004-09 php多进程编程详解 HOT PHP的进程控制支持实现了Unix方式的进程创建, 程序执行, 信号处理以及进程的中断。 进程控制不能被应用在Web服务器环境,当其被用于Web服务环境时可能会带来意外的结果。 继续阅读 >
202004-09 PHP命令行脚本接收传入参数的三种方式 HOT 通常PHP都做http方式请求了,可以使用GET or POST方式接收参数,有些时候需要在shell命令下把PHP当作脚本执行,比如定时任务。这就涉及到在shell命令下如何给php传参的问题,通常有三种方式传参。 继续阅读 >