php-all-sys

Crates.iophp-all-sys
lib.rsphp-all-sys
version0.0.1
sourcesrc
created_at2021-02-24 01:24:33.653204
updated_at2021-02-24 01:24:33.653204
descriptionAutogenerated Rust bindingings for PHP extension development for still used PHP versions
homepage
repositoryhttps://github.com/pawelchcki/php-all-sys.git
max_upload_size
id359720
size43,244,613
Pawel Chojnacki (pawelchcki)

documentation

README

*All PHP versions -sys crate

This crate is meant to facilitate creation of custom PHP extensions in Rust. It provides C bindings for all supported PHP versions.

This crate went through a few iterations, for now its a single crate containing all PHP versions as separate modules - this could change in the future.

In the beginning it also was generating Rust bindings on demand. But currently bindings are meant to be pregenerated - to test if the same crate works on OSX and Windows - without having to vendor OSX and Windows PHP headers.

Its possible we'll need to vendor OSX and Windows PHP includes to fully support these platforms.

Support

PHP Version Linux Windows OSX ZTS Linux ZTS Windows
PHP 5.4 Yes
PHP 5.5
PHP 5.6 Yes Yes
PHP 7.0 Yes
PHP 7.1 Yes
PHP 7.2 Yes
PHP 7.3 Yes
PHP 7.4 Yes
PHP 8.0 Yes

Generating bindings

private crate sys-build can be installed and used to generate binding files

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 
Commit count: 7

cargo fmt