1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00

2392 Commits

Author SHA1 Message Date
Kamil Tekiela
eedbffec2e Empty some values of mysqli_get_charset() (#21361)
* Stop reporting unhelpful values in mysqli_get_charset

* Remove element "comment" as it has been undocumented
2026-03-07 22:09:02 +00:00
Alexandre Daubois
11a95749b1 Convert more zend_parse_parameters_none() to fast ZPP (#21330) 2026-03-04 14:07:46 +01:00
Petr Sumbera
ce1cadba29 Fix Solaris tests and add nightly CI job
Closes GH-20709
2026-03-04 10:12:03 +01:00
Arshid
f0d321e947 [mysqli] Simply if -> RETURN_TRUE/FALSE with RETURN_BOOL() (GH-21149) 2026-02-06 10:07:54 +01:00
Arshid
a5a0ff6448 ext/mysqli: raise ValueError for invalid option in mysqli_options() (#20971)
Closes GH-20968

Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com>
Co-authored-by: Kamil Tekiela <tekiela246@gmail.com>
Co-authored-by: Gina Peter Banyard <girgias@php.net>
2026-02-03 18:27:10 +00:00
Khaled Alam
d03d69a88a Remove duplicate #include statements (#21085)
* Remove duplicate #include statements across the codebase.

* feat: Restore conditional/unconditional include pairs in lscriu.c
2026-01-30 16:37:13 +01:00
Arnaud Le Blanc
65b4073922 Include the actual stub name in generated arginfo headers (#20993) 2026-01-21 20:57:00 +01:00
Kamil Tekiela
724ff60318 Add MYSQLI_OPT_COMPRESS (#20987) 2026-01-20 22:33:02 +00:00
Kamil Tekiela
f4538c67c3 Remove unused macro 2025-12-18 20:53:11 +00:00
Kamil Tekiela
3de6dd12b6 Merge branch 'PHP-8.5'
* PHP-8.5:
  Squashed commit of the following:
2025-12-14 15:29:58 +00:00
Kamil Tekiela
c566502d9e Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Squashed commit of the following:
2025-12-14 15:29:02 +00:00
Kamil Tekiela
c54abaa7e4 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Squashed commit of the following:
2025-12-14 15:28:01 +00:00
Kamil Tekiela
dbf56e0eba Squashed commit of the following:
commit c4adcbe582
Author: Kamil Tekiela <tekiela246@gmail.com>
Date:   Fri Oct 17 15:32:14 2025 +0100

    Add NEWS

commit 84a6e675af
Author: Kamil Tekiela <tekiela246@gmail.com>
Date:   Fri Oct 17 14:49:26 2025 +0100

    Handle errors in mysqli_begin_transaction
2025-12-14 15:25:34 +00:00
Remi Collet
839803847e Merge branch 'PHP-8.5'
* PHP-8.5:
  NEWS
  NEWS
  NEWS
  Fix GH-20528: Regression breaks mysql connexion using an IPv6 address enclosed in square brackets
2025-11-21 09:21:19 +01:00
Remi Collet
7bdeedb430 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  NEWS
  NEWS
  Fix GH-20528: Regression breaks mysql connexion using an IPv6 address enclosed in square brackets
2025-11-21 09:20:41 +01:00
Remi Collet
c9de303087 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  NEWS
  Fix GH-20528: Regression breaks mysql connexion using an IPv6 address enclosed in square brackets
2025-11-21 09:19:56 +01:00
Remi Collet
9d71c1e0b6 Fix GH-20528: Regression breaks mysql connexion using an IPv6 address enclosed in square brackets 2025-11-21 09:17:20 +01:00
Gina Peter Banyard
0df31e5a5b Merge branch 'PHP-8.5'
* PHP-8.5:
  Update NEWS for null deprecation bug fix
  Fix GH-20194: null offset deprecation not emitted for writes (#20238)
2025-10-29 18:37:29 +00:00
Gina Peter Banyard
9a1b8a785d Fix GH-20194: null offset deprecation not emitted for writes (#20238)
Based on a patch from @ndossche
2025-10-29 18:36:10 +00:00
Niels Dossche
984416dde3 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix GH-20122: getColumnMeta() for JSON-column in MySQL
2025-10-16 22:56:24 +02:00
Niels Dossche
02bd332040 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix GH-20122: getColumnMeta() for JSON-column in MySQL
2025-10-16 22:56:17 +02:00
Niels Dossche
4fa45096a7 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-20122: getColumnMeta() for JSON-column in MySQL
2025-10-16 22:56:09 +02:00
Niels Dossche
94284df7b2 Fix GH-20122: getColumnMeta() for JSON-column in MySQL
While at it, also add VECTOR.

Closes GH-20143.
2025-10-16 22:55:17 +02:00
Niels Dossche
22bcea0d2d Merge branch 'PHP-8.5'
* PHP-8.5:
  Update SKIPIF for bug #67563 (#20133)
2025-10-13 08:34:40 +02:00
Niels Dossche
1adf63d45c Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Update SKIPIF for bug #67563 (#20133)
2025-10-13 08:34:33 +02:00
Niels Dossche
a1c290f7cb Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Update SKIPIF for bug #67563 (#20133)
2025-10-13 08:34:25 +02:00
Niels Dossche
8a21d62c28 Update SKIPIF for bug #67563 (#20133) 2025-10-13 08:34:03 +02:00
Kamil Tekiela
f543f4951c Clean up some minor things in ext/mysqli (#20120)
* Remove unused fields and typedefs

* Remove unused __name parameter
2025-10-12 01:20:48 +01:00
Tim Düsterhus
985d681501 tree-wide: Replace zval_is_true() by zend_is_true() (#20065)
* tree-wide: Replace `zval_is_true()` by `zend_is_true()`

The former is a direct alias of the latter which is much more often used.

* zend_operators: Remove `zval_is_true()`
2025-10-07 20:44:32 +02:00
Ilija Tovilo
d10d18852b Merge branch 'PHP-8.5'
* PHP-8.5:
  Skip proc_open_multiplex.phpt on PPC runner
  Skip mysqli_fetch_all_data_types_variation.phpt on PPC runner
2025-10-03 23:12:57 +02:00
Ilija Tovilo
db8e28b8a2 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Skip mysqli_fetch_all_data_types_variation.phpt on PPC runner
2025-10-03 23:12:16 +02:00
Ilija Tovilo
0e1addf8b5 Skip mysqli_fetch_all_data_types_variation.phpt on PPC runner 2025-10-03 23:11:47 +02:00
Niels Dossche
57ce245e1e Reduce code bloat in arginfo by using specialised string releases (#20016)
* Reduce code bloat in arginfo by using specialised string releases

Comparing this patch to master (c7da728574),
with a plain configure command without any options:

```
   text	   data	    bss	    dec	    hex	filename
20683738	1592400	 137712	22413850	156021a	sapi/cli/php
20688522	1592400	 137712	22418634	15614ca	sapi/cli/php_old
```

We see a minor reduction of 0.023% in code size.

* Also use true for the other initialization line

* Also use specialized code for consts
2025-10-02 22:00:20 +02:00
David CARLIER
39dda7239f ext/mysqli: internal updates (#19072)
* global struct size reduction.

* connection port ini value sanity check addition.
2025-10-01 12:50:11 +01:00
Niels Dossche
f60dd15f95 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix bug #67563: mysqli compiled with mysqlnd does not take ipv6 adress as parameter
2025-09-30 15:21:19 +02:00
Niels Dossche
5fd378236f Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix bug #67563: mysqli compiled with mysqlnd does not take ipv6 adress as parameter
2025-09-30 15:21:07 +02:00
Niels Dossche
4496322e42 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix bug #67563: mysqli compiled with mysqlnd does not take ipv6 adress as parameter
2025-09-30 15:20:50 +02:00
Niels Dossche
6db12e7cd8 Fix bug #67563: mysqli compiled with mysqlnd does not take ipv6 adress as parameter
In the past, when libmysqlclient could be used, it accepted ipv6 addresses
as hostname without enclosing it first in brackets. However, in mysqlnd
this never worked. In the past this caused a discrepancy between the two
implementations.
Nowadays, mysqli only works with mysqlnd so we don't even have to cater
to libmysqlclient. However, a plain ipv6 address should still work as a
hostname. Also for people migrating to newer PHP versions it's nice if
this keeps working.

The solution is to check if we're dealing with an ipv6 address not yet
enclosed in brackets. In that case we add the brackets automatically.

Closes GH-19750.
2025-09-30 15:20:14 +02:00
Tim Düsterhus
9fa2e96c90 mysqli: Use true / false instead of 1 / 0 when assigning to bool
Changes done with Coccinelle:

    @@
    bool b;
    @@

    - b = 0
    + b = false

    @@
    bool b;
    @@

    - b = 1
    + b = true
2025-09-24 18:51:40 +02:00
Daniel Scherzer
3f3a266a2b gen_stub: Infer constants' types from values (#19568)
Don't require `@var` with a type when the type can be inferred from a literal
value in the stub file.
2025-09-03 18:26:43 -07:00
Arnaud Le Blanc
6f32e1c690 Deprecate driver specific PDO constants
RFC: https://wiki.php.net/rfc/deprecations_php_8_5.

Closes GH-19526
2025-08-26 09:06:19 +02:00
Tim Düsterhus
5d86515772 mysqli: Deprecate mysqli_execute() (#19286)
RFC: https://wiki.php.net/rfc/deprecations_php_8_5#formally_deprecate_mysqli_execute
2025-08-08 21:23:31 +01:00
Daniel Scherzer
ff810d5e36 Arginfo: reuse zend_string objects for initializing attribute values (#19241)
Avoid initializing the same string content multiple times and make use of the
fact that the strings created to initialize attribute values are not freed by
simply making use of an existing zend_string with the same content if one is
available.
2025-07-27 17:27:22 -07:00
DanielEScherzer
1eadf553f1 Arginfo: avoid using temporary zvals for initializing attribute values (#19141)
Instead of
* adding a zval on the stack
* initializing it
* copying the value to the attribute

Just initialize the value directly in the zend_attribute_arg
2025-07-21 13:33:51 -07:00
Daniel Scherzer
142e378618 Arginfo: add and use known strings for attribute values 2025-07-14 17:31:22 -07:00
DanielEScherzer
9225cb45ac Make zend_register_*_constant() functions return pointers, use them (#19029)
Have each of the specialized methods for registering a constant return a
pointer to the registered constant the same way that the generic
`zend_register_constant()` function does, and use those in the generated
arginfo files to avoid needing to search for a constant that was just
registered in order to add attributes to it.
2025-07-07 12:23:52 -07:00
Niels Dossche
984bcb5d69 ext/mysqli: Get rid of calls to strcpy (#18970)
strcpy is a dangerous API that should be avoided.
2025-06-28 14:04:39 +02:00
Niels Dossche
737db4a7dc Use hasThis() where appropriate (#18967)
This macro was introduced to solve false compilers warning about the getThis()
condition not making sense for the address-taken part of the ternary.
2025-06-28 10:12:43 +02:00
DanielEScherzer
171501b93f Replace @deprecated with #[\Deprecated] for internal constants (#18780)
Only covers constants declared via stub files, others will be handled
separately in a later commit.

Does not include the intl extension, since that had some errors relating to the
cpp code; that extension will be updated separately.
2025-06-26 11:27:15 -07:00
Tim Düsterhus
4c5a6b0e8d tree-wide: Remove stacktraces from tests testing throwing clones (#18748)
This is in preparation for the possible future transformation of `clone` into a
function call, but also meaningful on its own, since the purpose of the tests
is not to test the stack trace generation, but rather that an exception was
thrown. It also cleans up some unreachable code in the tests.
2025-06-03 20:08:47 +02:00