#php #extension #version #bindings #header #module #autogenerated

php-all-sys

为仍使用的PHP版本开发PHP扩展的自动生成的Rust绑定

1个不稳定版本

0.0.1 2021年2月24日

#31#autogenerated

Apache-2.0 OR BSD-3-Clause

7.5MB
234K SLoC

Rust 184K SLoC // 0.0% comments M4 26K SLoC // 0.1% comments PHP 23K SLoC // 0.1% comments AWK 490 SLoC // 0.2% comments C 184 SLoC // 0.6% comments

*所有PHP版本的-sys crate

这个crate旨在简化使用Rust创建自定义PHP扩展。它为所有支持的PHP版本提供了C绑定。

这个crate经过几次迭代,目前是一个包含所有PHP版本作为单独模块的单个crate - 这在未来可能会改变。

最初它也可以按需生成Rust绑定。但当前绑定是为了预先生成 - 以测试相同的crate是否可以在OSX和Windows上工作 - 而不必提供OSX和Windows PHP头文件。

我们可能需要提供OSX和Windows PHP包含文件来完全支持这些平台。

支持

PHP版本 Linux Windows OSX ZTS Linux ZTS Windows
PHP 5.4
PHP 5.5
PHP 5.6
PHP 7.0
PHP 7.1
PHP 7.2
PHP 7.3
PHP 7.4
PHP 8.0

生成绑定

可以安装并使用私有crate sys-build来生成绑定文件

cargo install --path sys-build
cargo php-sys-build # to generate files, should be run from Crates root dir
cargo fmt # to format generated files before commiting 

没有运行时依赖