PHP

PHP Redis cheatsheet

2020-11-25

安装

使用pecl 安装 redis扩展

pecl install redis

安装之后追加 extension="redis.so" 到 php.ini

基于 Solder 使用 Rust 来为 PHP 写扩展

2020-07-18

阅读 phper, phper 0.2 已可以使用,

本文使用 Solder 库来实现PHP扩展程序,它是基于 php-rs 库的试验性项目,实现了php扩展的函数处理。 满足了字符串和数字类型基本要求。

soder 源库地址为 github , 这里使用的是 fork 的库, github.com/erasin/solder

2020-09-17 : 项目 XX/php-rust 中提供了更多的类型处理。简化函数注册流程。

创建项目

使用 cargo 来创建项目,然后创建编译配置文件.cargo/config

cargo new --lib rs-tool 
cd rs-tool
mkdir .cargo
touch config

编辑 .cargo/config,遵循toml格式。

[build]
rustflags = ["-C", "link-args=-Wl,-undefined,dynamic_lookup"]

php chronos 时间管理库

2020-06-16

Chronos , PHP 时间日历处理库,零依赖。

使用 composer 安装

php composer.phar require "cakephp/chronos:^2.0"
  • Cake\Chronos\Chronos 是不可变的日期和时间对象。
  • Cake\Chronos\Date 是不可变的日期对象。 is a immutable date object.
  • Cake\Chronos\MutableDateTime 是可变的日期和时间对象。 is a mutable date and time object.
  • Cake\Chronos\MutableDate 是可变的日期对象。 is a mutable date object.
  • Cake\Chronos\ChronosInterval 是 DateInterval 的扩展。 is an extension to the DateInterval object.

PHP 多版本运行环境

2020-05-29

步骤和原理

  1. PHP 官网下载 php 安装包
  2. 分配安装路径
  3. 修改 php-fpm 端口

下载和安装

打开 PHP 官网下载 选择需要的版本,比如 PHP 7.2.31

wget https://www.php.net/distributions/php-7.2.31.tar.gz
tar xvf php-7.2.31.tar.gz
cd ./php-7.2.31

PHP to Golang 使用 goridge rpc通信 PHP

2020-01-09

Goridge 是一个高性能的 PHP-to-Golang 编解码器库,可以在本地 PHP sockets 和Golang net/rpc 包上工作。该库允许从 PHP 调用 Go 服务方法,支持结构,和字节处理。