| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This allows to eliminate re-calculation of string lenght and hash value.
See the detailed list of changes in UPGRADING.INTERNALS.
|
|\
| |
| |
| |
| | |
* PHP-8.0:
Fix #80771: phpinfo(INFO_CREDITS) displays nothing in CLI
|
| |\
| | |
| | |
| | |
| | | |
* PHP-7.4:
Fix #80771: phpinfo(INFO_CREDITS) displays nothing in CLI
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There is no good reason not to show the credits in text based SAPIs,
except for brevity. Thus, we suppress the credits from `php -i`.
Closes GH-6710.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We're starting to see a mix between uses of zend_bool and bool.
Replace all usages with the standard bool type everywhere.
Of course, zend_bool is retained as an alias.
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
This testing mode executes the test multiple times in the same
process (but in different requests). It is primarily intended to
catch tracing JIT bugs, but also catches state leaks across
requests.
Closes GH-6365.
|
| |
| |
| |
| |
| |
| | |
We might just want to drop this completely, but at least don't
enable it by default. It already gets disabled by a number of
SAPIs, but we should make that the default state.
|
| |
| |
| |
| |
| |
| | |
Make EG(exit_status) the single source of truth for the exit status,
instead of having two variables that we cannot really keep
synchronized.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure we don't execute further scripts if one of them encountered
an exit exception.
Also make sure that we free file handles that end up unused due to
an early abort in php_execute_scripts(), which turned up as an
issue in the added test case.
Finally, make use of EG(exit_status) in the places where we
zend_eval_string_ex, instead of unconditionally assigning exit
code 254. If an error occurs, the error handler will already set
exit status 255.
|
| | |
|
| |
| |
| |
| | |
Closes GH-5295.
|
| |
| |
| |
| | |
Closes GH-5758
|
| |
| |
| |
| |
| |
| |
| |
| | |
Formerly, this had to be enabled by passing the configuration flag
`--enable-crt-debug`; now it can be enabled by setting the environment
variable `PHP_WIN32_DEBUG_HEAP`. The advantage is that it is no longer
necessary to do separate builds, at the cost of a very minor
performance penalty during process startup.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds the following APIs:
void zend_call_known_function(
zend_function *fn, zend_object *object, zend_class_entry *called_scope,
zval *retval_ptr, int param_count, zval *params);
void zend_call_known_instance_method(
zend_function *fn, zend_object *object, zval *retval_ptr, int param_count, zval *params);
void zend_call_known_instance_method_with_0_params(
zend_function *fn, zend_object *object, zval *retval_ptr);
void zend_call_known_instance_method_with_1_params(
zend_function *fn, zend_object *object, zval *retval_ptr, zval *param);
void zend_call_known_instance_method_with_2_params(
zend_function *fn, zend_object *object, zval *retval_ptr, zval *param1, zval *param2);
These are used to perform a call if you already have the
zend_function you want to call. zend_call_known_function()
is the base API, the rest are just really thin wrappers around
it for the common case of instance method calls.
Closes GH-5692.
|
| |
| |
| |
| | |
Closes GH-5676.
|
| |
| |
| |
| | |
Closes GH-5673.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.4:
Fix #79650: php-win.exe 100% cpu lockup
|
| |\
| | |
| | |
| | |
| | | |
* PHP-7.3:
Fix #79650: php-win.exe 100% cpu lockup
|
| | |
| | |
| | |
| | |
| | |
| | | |
As of PHP 7.3.0, `sapi_cli_single_write()` is supposed to return `< 0`
on failure, but `fwrite()` returns a `size_t`, and signals error by
setting the stream's error indicator. We have to cater to that.
|
| | | |
|
| | |
| | |
| | |
| | | |
Unlike the hash apply functions, these do not return int.
|
| | |
| | |
| | |
| | |
| | | |
Avoid performing the same casting dance inside each sort compare
function.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Fix bug #78323: Code 0 is returned on invalid options
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.3:
Fix bug #78323: Code 0 is returned on invalid options
|
| | |
| | |
| | |
| | |
| | | |
Set CLI exit code to 1 when invalid parameters are passed,
and print error to stderr.
|
| | | |
|
| | |
| | |
| | |
| | | |
Closes GH-4732.
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | | |
This method is deprecated ... instead simply directly print the
object.
|
|\ \ \
| |/ / |
|
| | | |
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | | |
Reduce the amount of code that mucks around with zend_file_handle
initialization.
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Instead of handling shebang lines by adjusting the file pointer in
individual SAPIs, move the handling into the lexer, where this is
both a lot simpler and more robust. Whether the shebang should be
skipped is controlled by CG(skip_shebang) -- we might want to do
that in more cases.
This fixed bugs #60677 and #78066.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
fix mac tests on azure
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Remove checks for locale.h, setlocale, localeconv
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The `<loccale.h>` header file, setlocale, and localeconv are part of the
standard C89 [1] and on current systems can be used unconditionally.
Since PHP 7.4 requires at least C89 or greater, the `HAVE_LOCALE_H`,
`HAVE_SETLOCALE`, and `HAVE_LOCALECONV` symbols defined by Autoconf in
configure.ac [2] can be ommitted and simplifed.
The bundled libmagic (file) has also been patched already in version
5.35 and up in upstream location so when it will be patched also in
php-src the check for locale.h header is still left in the configure.ac
and in windows headers definition file.
[1] https://port70.net/~nsz/c/c89/c89-draft.html#4.4
[2] https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4
Omit the bundled libmagic files
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Remove HAVE_SIGNAL_H
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The `<signal.h>` header file is part of the standard C89 headers [1] and
on current systems can be included unconditionally.
Since file requires at least C89 or greater, the `HAVE_SIGNAL_H` symbol
defined by Autoconf in Zend.m4 [2] can be ommitted and simplifed.
The bundled libmagic (file) also ommits the usage of HAVE_SIGNAL_H since
5.35 however current version in PHP is very modified 5.34 version and
will be refactored separately. Check for HAVE_SIGNAL_H is therefore
still done in the configure.ac.
Refs:
[1] https://port70.net/~nsz/c/c89/c89-draft.html#4.1.2
[2] https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Implemented a faster way to access predefined TSRM resources - CG(), EG(), etc.
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Avoid reinitailization of ZTS cache pointer. Initialize it once in TSRM.c
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Update and fix remaining year ranges (2019)
|
| | |
| | |
| | |
| | |
| | |
| | | |
This patch follows previous license year ranges updates. With new
approach source code files now have simplified headers with license
information without year ranges.
|
|/ /
| |
| |
| | |
insted of zval(s).
|