PHP

supervisor: 给 Dockerfile 增加 supervisor 自启动服务

记录下给php-fpm的镜像增加supervisor服务使其在后台跑多个worker,如给php的laravel项目配置多个异步队列进程,使用supervisor进行管理。

PHP 接口使用 Gzip 响应大体积的数据与 Javascript 客户端解码方法

当传输较大的数据内容时,客户端往往传输会非常慢且超时,Postman也会直接 Error: Maximum response size reached 拒绝服务。为此我们需要将数据压缩起来,然后再返回给前端。 前端也可以得到数据后自行解密。一般来说接口大多返回的都是数据库的数据表,这类数据往往都是成对出现,且有很大内容的重复性,比如字段名重复、高频次的0、1、ID 等,那么压缩率就非常可观。

使用 buildx 跨平台编译用于 Hypref 的 Swoole Docker 镜像

hypref 默认提供的 Dockerfile 没有 ARM 架构的镜像,在服务器跑的过程中出现了错误。折腾了半天记录一下如何修改及编译适用于自己的 Hyperf 项目的镜像。

Hyperf 进程通信:HTTP接口更新异步消费进程的内存数据

在 Hyperf 开发项目过程中经常使用 Job 进行一些耗时任务处理,而 Job 的执行是在异步消费队列中,在异步消费进程启动时会对数据进行初始化存储到容器的服务类理,以供处理后续的 Job 任务。 当用户通过 HTTP 接口更新数据到数据库中时,此时异步消费进程中的内存数据并没有得到及时更新,这就会造成一些困扰。

PHP:通过 Swoole 扩展实现 HTTP 协议服务器,上传超大文件

传统 PHP WEB 运行模式:Nginx + php-fpm、Apache + FCGI 或者 Cli 终端起的服务,PHP 默认都会在底层将请求数据完整吞到内存里,才会进行解析执行脚本。 无法实现大文件上传(大于运行机器内存的文件)。 该例子通过 SWOOLE TCP 服务器实现简单 HTTP 协议服务器,改变往常将 TCP buffer 数据暂存到内存中,直接写入文件。 轻微内存占用,可实现上传超大文件。

构建支持Swoole、Kafka 扩展,运行 PHP 环境的 Docker 镜像

构建支持Swoole、Kafka 扩展,运行 PHP 环境的 Docker 镜像 Hyperf 框架官方提供了内置 Swoole 的 Docker 构建模板,最新已经支持到了PHP8,另外也可以通过参数指定版本去构建自己的镜像。

PHP:利用PHP实现基础的 webdav 协议服务端

WEBDAV(Web Distributed Authoring and Versioning) 协议在跨设备存储上非常有用,很多客户端都支持此协议,这是基于 HTTP 协议的一些扩展升级,以此来实现对目录文件实现存储读写。本文主要是记录如何实现一个 WEBDAV 协议服务端,最终你可以利用系统内置的 WEBDAV 协议,或者支持 WEBDAV 协议的客户端软件来将你的服务挂载为一块可用的网络硬盘,也可以在应用程序中进行数据的存取使用。

PHP+swoole+phpredis+rdkafka离线编译移植包适用于CentOS平台/静态编译

近日折腾打包了PHP一套的离线安装包,用于内网离线安装。在这里整理下打包的全部过程以及移植后安装需要注意的东西。 此次打包的环境大致包含:PHP 7.4.4、swoole 4.5.2、phpredis 5.3.0 RC2、rdkafka 4.0.3

CentOS7/8编译安装PHP7.4.4

前段时间更新了debian编译安装php7.4的方法,现在再记录一下php7/8编译安装php7.4.4的过程。

Debian9.9编译安装PHP7

今天装了debian,记录一些在debian平台上编译安装PHP7的问题。 通过参考之前的CentOS安装方式,修改部分参数以及替换其对应的开发库依赖。

Pages