Commit Graph

284 Commits

Author SHA1 Message Date
f669891931
Merge remote-tracking branch 'origin/master' 2023-08-27 16:58:22 +02:00
253255b470
Move async stuff to danog/php-tokio 2023-08-27 16:26:31 +02:00
725dfec0f2
Cleanup 2023-08-27 15:24:48 +02:00
4cd4a20079
Cleanup 2023-08-21 20:00:43 +02:00
Joe Hoyle
acd336994c
Add helper method to cancel VM interrupt (#260)
Follow up to #257
2023-07-19 17:15:40 +02:00
Joe Hoyle
42ef04a8ae
Add function type_() method (#254) 2023-07-19 13:15:36 +02:00
Joe Hoyle
4e8bec7995
Add helper for class name (#255) 2023-07-19 13:13:12 +02:00
Joe Hoyle
3e378f8cdf
Add function for requesting VM interrupt (#257) 2023-07-19 13:12:35 +02:00
Joe Hoyle
7b35476d04
Implement IntoZvalDyn for Zval (#256) 2023-07-19 13:06:10 +02:00
Joe Hoyle
5d1ffcec05
Add helper to get global constants (#222)
ExecutorGlobals::constants() will return a hash map of the available constants.
2023-07-18 22:42:40 +02:00
Joe Hoyle
a9dffe08f5
Add ability to show PHP warnings (etc) (#231)
* Add ability to show PHP warnings (etc)

I don't believe there's a way for extensions to trigger PHP notices or warnings currently. This is done using the `php_error_docref` function. I've placed a function in `ext_php_rs::php_error()` however, there might be a better place?

* Remove uneeded empty value

* Fix url
2023-07-18 22:40:24 +02:00
Joe Hoyle
396c8740e4
Add support for post shutdown function (#251) 2023-07-18 22:38:50 +02:00
c8c1df06e2
Fix construction of native classes and any class with properties 2023-06-29 14:20:04 +02:00
ab2af4581d
Fix class construction 2023-06-29 14:05:49 +02:00
eda544ceaf
Simplify 2023-06-29 13:46:01 +02:00
e658ce890f
Small fix 2023-06-29 12:45:29 +02:00
Pierre Tondereau
8b87e4038e
Bump cargo-php to 0.1.8 (#248)
* Bump cargo-php to 0.1.8

* Fix docker zts installation
2023-06-26 21:34:45 +02:00
8514614521
Remove redundant fclose 2023-06-22 17:32:37 +02:00
ca2bc9ae97
Performance trick 2023-06-22 17:13:17 +02:00
6657223087
Further cleanup 2023-06-22 16:50:01 +02:00
c517931726
Cleanup 2023-06-22 16:19:24 +02:00
ae2bd550e8
Cleanup 2023-06-22 16:16:17 +02:00
064ef747c1
Fixes 2023-06-22 16:14:49 +02:00
e0ae48175d
Cleanup 2023-06-22 15:12:26 +02:00
33f9d6e4b8
Improvement 2023-06-22 14:17:49 +02:00
ab55a491d7
Cleanup 2023-06-22 14:13:01 +02:00
ee5c3e1e82
Cleanup 2023-06-22 13:33:09 +02:00
751d4f4d04
Refactoring 2023-06-22 13:31:56 +02:00
07ce8299c5
Fix option args 2023-06-19 13:07:55 +02:00
3fb905afdb
Fix borrowing of parameters in async functions 2023-06-19 11:40:14 +02:00
2088fadf38
A small hack to workaround known good lifetimes 2023-06-19 11:40:14 +02:00
10d3c50181
Update 2023-06-19 11:40:13 +02:00
cc50781903
Add async support 2023-06-19 11:40:13 +02:00
Pierre Tondereau
654692d879
Prepare 0.10.1 (#243) 2023-05-16 23:41:08 +02:00
Pierre Tondereau
eaab5f0694
chore: deps upgrade (#242) 2023-05-16 23:22:20 +02:00
Pierre Tondereau
63a76846d2
chore: Update bindgen to 0.65.1 (#241) 2023-05-16 22:49:57 +02:00
Joe Hoyle
1f9946f105
Switch to use zend apis for array iteration (#240) 2023-05-16 22:33:45 +02:00
Pierre Tondereau
6b6489fddb
chore: fix clippy warnings. (#235) 2023-03-13 18:00:45 +01:00
Dirk Stolle
5d775a5e91
docs(badge): Fix URL of shields.io badges in README.md (#233)
See <https://github.com/badges/shields/issues/8671> for more
information about the breaking change in the URL scheme.

[ci skip]
2023-03-13 11:52:00 +01:00
Dirk Stolle
812e7057db
docs: Fix some typos (#234) 2023-03-13 11:51:29 +01:00
Ryan McCue
c5eaeb242b
Stop watching Cargo.lock for changes (#232)
When loaded via Cargo, there's no Cargo.lock directly in this crate, so
the lack of file existence causes unnecessary rebuilds every time.
2023-02-24 16:24:19 +01:00
Pierre Tondereau
e6afecbddd
chore(clippy): Fix clippy warnings. (#228) 2023-02-07 22:52:56 +01:00
Joe Hoyle
0b27dc349f
Fix Zval IS_PTR type detection (#223) 2023-02-07 22:25:15 +01:00
Joe Hoyle
1875e99e93
Pass args to startup function (#226) 2023-02-07 22:24:33 +01:00
Joe Hoyle
831b3c8597
Mate GlobalExecutor::get_mut() public (#227) 2023-02-07 22:21:53 +01:00
Christian Rades
87ac43d05e
Add is_identical for zvals (#217) 2023-01-19 12:40:24 +01:00
Pierre Tondereau
7ed31ebda9
chore: Prepare 0.10.0 (#215) 2022-12-22 22:55:07 +01:00
Pierre Tondereau
11e0998bc4
feat: Add support for PHP 8.2 (#212)
## Small Fixes due to PHP8.2 upgrade:
- Internal PHP `ZendHashmap` changed the way that we access to the bucket ([commit](90b7bde615 (diff-dca4782c62f10b418ea7193e4641e688ffd7a9c97869f2b1a3a96e28da5653aaL371)))
- Internal PHP `ArrayIterator` doesn't support parent `get_iterator` ([commit](15bbf6f337 (diff-bc002b59b592b4d44c13d898f9dc3ca60b1b1c8505a51a2a3557dfde51dfeb61L273)))
2022-12-20 17:11:35 +01:00
Pierre Tondereau
6965f4a198
Prepare v0.9.0 (#211) 2022-12-11 22:10:25 +01:00
ju1ius
4ca5c0d06e
honour PHP_CONFIG & rebuild automatically when env vars change (#210)
Closes https://github.com/davidcole1340/ext-php-rs/issues/208
Closes https://github.com/davidcole1340/ext-php-rs/issues/209

## Summary of the changes

### Build scripts
* the `unix_build.rs` script now honors the `PHP_CONFIG` environment variable, like `cargo php install`
* use `cargo:rerun-if-env-changed` for the `PHP`, `PHP_CONFIG` and `PATH` environment variables, to avoid needless recompilation of the whole dependency tree.

### Documentation
While trying to document the aforementioned changes, I realized that there was no chapter about installing and setting up a PHP environment to develop PHP extensions. So, I refactored the first chapters of the book into a `Getting Started` section, including instructions on how to quickly set up a PHP environment.
2022-12-11 20:08:50 +01:00