RUSTLANG

ext-php-rs 使用 RUST 更加方便的构建 PHP 扩展

2022-10-31

ext-php-rs 是一个用于构建PHP扩展的RUST库,比起其他的php的绑定库,该库使用起来 更加的方便和快捷。

官方宣称的特性为:

  • 易于使用,内置的宏抽象了 zend API,特别是参数类型交互
  • 轻量级,该库会自动编写胶水代码,只需要写功能即可。
  • 可扩展,可以使用 IntoZvalFromZval 定义自己的类型用于参数和返回类型。

迄今为止, 使用rust写php扩展,并没有太好的方式与php进行交互,建议使用rust写 基础类库。

基于 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"]

rustlang osx 下交叉编译linux

2020-07-16

使用 rustup 查看 支持的target 平台

rustup target list 

# add target
rustup target add x86_64-unknown-linux-musl 

RustLang Awesome

2020-07-15

阅读 rust 相关书籍

rustup 和 cargo 国内加速镜像服务

2020-05-30

国内提供rustup镜像主要有