ext-php-rs icon indicating copy to clipboard operation
ext-php-rs copied to clipboard

Bindings for the Zend API to build PHP extensions natively in Rust.

Results 66 ext-php-rs issues
Sort by recently updated
recently updated
newest added

When running the example from https://github.com/davidcole1340/ext-php-rs/blob/466c1658e3c91db3398c585a3b859b18e5b8e070/guide/src/macros/classes.md#example in returning an exception using `PhpException::from_class::`, I'm seeing a panic: ``` thread '' panicked at 'Attempted to access uninitalized class object', /Users/joe/.cargo/git/checkouts/ext-php-rs-0adfd3c26f55092c/f9528f0/src/types/class_object.rs:245:14 stack backtrace:...

Should be able to accept a reference inside a zval: https://www.phpinternalsbook.com/php7/zvals/references.html Questions to be answered: - What do we do if we attempt to extract a string from a zval...

enhancement

With this [change] in rust-analyzer, expansion of ext-php-rs macros errors out as they are no longer expanded in order. This is because Rust provides no guarantees of macro expansion, and...

bug

`Zval::string()` will no longer attempt to convert a long into a string. Instead, this is done through the new function on the `FromZval` trait: `from_zval_coerce`, which broadly follows PHP's [type...

Zvals currently implement both `Send` and `Sync`, however, if the zval contains a reference counted type (strings, arrays, objects), when dropped it will attempt to decrement the reference counter, which...

bug

At the moment, calling `zval.string()` will attempt to convert a `f64` into a string, so `zval.string() != zval.str()` all the time. This should be removed, and a new function added...

enhancement

``` Assertion failed: ((zend_gc_refcount(&(ht)->gc) == 1) || ((ht)->u.flags & (1

bug

Reduce the need to allocate the hashmap and closures on each call.

enhancement

Add a wrapper around eval. This function exposes zend's behaviour (expects an expression which is automatically prepended with "return"), which is different PHP's builtin's behaviour. I'm not sure if it...

I tried to install cargo-php in different envs and still failed. The PHP version: ``` Usage: /usr/bin/php-config [OPTION] Options: --prefix [/usr] --includes [-I/usr/include/php/20230831 -I/usr/include/php/20230831/main -I/usr/include/php/20230831/TSRM -I/usr/include/php/20230831/Zend -I/usr/include/php/20230831/ext -I/usr/include/php/20230831/ext/date/lib ] --ldflags...