runkit7

Runkit7 : For all those things you.... probably shouldn't have been doing anyway.... but surely do!


Replace, rename, and remove user defined functions, methods, and constants.
Define customized superglobal variables for general purpose use.

License: BSD License (3 Clause)

Latest releases

Version Release Download
4.0.0a2 2020-10-08 runkit7-4.0.0a2.tgz
4.0.0a1 2020-10-08 runkit7-4.0.0a1.tgz
3.1.0a1 2019-12-27 runkit7-3.1.0a1.tgz
3.0.0 2019-06-15 runkit7-3.0.0.tgz
3.0.0RC1 2019-06-01 runkit7-3.0.0RC1.tgz
Show all releases

Changelog

Version Message
4.0.0a2 - Fix build failure in PECL releases due to missing files in the 4.0.0a1 archive.
- Properly reference count references to file names in php 8.0 when copying functions
4.0.0a1 - Remove `runkit7_import()`. This had known crashes/segfaults in php 7.3+ that have not been straightforward to fix (after multiple attempts)
due to changes to PHP's internals and changes to late static binding, and offered an incomplete set of functionality.
(e.g. could not override properties)

This was also not integrated with runkit7's tracking of manipulated methods/functions/properties.
- Drop support for php 7.1. Security support for php 7.1 from php-src ended in December 2019
and runkit7 requires a lot of work to verify that changes or new features work correctly with the internals of php in all PHP versions.
- Remove disabled code, constants, and ini settings related to the sandbox feature.
Runkit7 has never supported sandboxes or runkit_lint due to changes to internals in php7 making it impractical.
- Remove runkit7_object_id() - PHP 7.2 adds spl_object_id() to do the same thing.
- Fix build failure in php 8.0-dev - this extension's support for php 8 is still incomplete and experimental.
- Add parameter default constant names to reflection (php 8 only).
3.1.0a1 - Support php 7.4.
3.0.0 Runkit7 3.0 finishes changing this extension's name from "runkit" to "runkit7".
THIS WILL REQUIRE CHANGES TO YOUR BUILD SCRIPTS AND PHP.INI FILES.
This change was made at the request of PECL admins, to comply with naming and packaging standards.

- The compiled shared object name has been changed from `runkit.so` to `runkit7.so` (Mac/Linux) and `php_runkit.dll` to `php_runkit7.dll` (Windows)
(php.ini files should be changed to reference `extension=runkit7.so` or `extension=php_runkit7.dll`)
- The configure flag names have been changed from flags such as `--enable-runkit` / `--enable-runkit-modify` to `--enable-runkit7` / `--enable-runkit7-modify`
- Code using `extension_loaded('runkit')` should be changed to `extension_loaded('runkit7')` (as well as uses of ReflectionExtension, etc.)
- The ini options `runkit.superglobal` and `runkit.internal_override` are unaffected.

Changes in 3.0.0
- Update documentation
- Remove RUNKIT_VERSION
- It is now possible to disable superglobal support (--disable-runkit7-super was fixed)
- Classkit compatibility functions/constants have been removed.
3.0.0RC1 Runkit7 3.0 finishes changing this extension's name from "runkit" to "runkit7".
THIS WILL REQUIRE CHANGES TO YOUR BUILD SCRIPTS AND PHP.INI FILES.
This change was made at the request of PECL admins, to comply with naming and packaging standards.

- The compiled shared object name has been changed from `runkit.so` to `runkit7.so` (Mac/Linux) and `php_runkit.dll` to `php_runkit7.dll` (Windows)
(php.ini files should be changed to reference `extension=runkit7.so` or `extension=php_runkit7.dll`)
- The configure flag names have been changed from flags such as `--enable-runkit` / `--enable-runkit-modify` to `--enable-runkit7` / `--enable-runkit7-modify`
- Code using `extension_loaded('runkit')` should be changed to `extension_loaded('runkit7')` (as well as uses of ReflectionExtension, etc.)
- The ini options `runkit.superglobal` and `runkit.internal_override` are unaffected.

Changes in 3.0.0RC1
- Update documentation
- Remove RUNKIT_VERSION
Show complete changelog