PHP 8.3.27: Downloads, Changelog, News

Release Information

Release
8.3.27
PHP Version
PHP 8.3
Release Date
Release Type
Bug Fix Release
Release Status
Latest Release in 8.3
Branch Status
Supported

Latest release for PHP 8.3.
PHP 8.3 continues to receive bug fixes and security fixes until 2025-12-31.

Downloads

Source Code

Git Clone
Use Git to clone the 8.3.27 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.3.27
How to compile PHP
PHP can be compiled by setting up the dependencies, building the configure script (./buildconf), configuring the build ./configure, and running make.
Detailed articles on how to compile PHP are available for Ubuntu/Debian based systems and Fedora/RHEL based systems.

Windows binaries

Non-Thread Safe Builds
Non-Thread Safe (NTS) builds are single-threaded PHP builds. They can be used on web servers that integrate PHP over FastCGI protocol, such as Nginx, Caddy, and IIS.
Thread-Safe Builds
Thread-Safe (TS) builds are multi-thread PHP builds, often used to integrate PHP as a Server API for multithreaded servers. The most common use case is using PHP as an Apache module.

ChangeLog

Core

  • Fixed bug GH-19765 (object_properties_load() bypasses readonly property checks).
  • Fixed hard_timeout with --enable-zend-max-execution-timers.
  • Fixed bug GH-19792 (SCCP causes UAF for return value if both warning and exception are triggered).
  • Fixed bug GH-19653 (Closure named argument unpacking between temporary closures can cause a crash).
  • Fixed bug GH-19839 (Incorrect HASH_FLAG_HAS_EMPTY_IND flag on userland array).
  • Fixed bug GH-19480 (error_log php.ini cannot be unset when open_basedir is configured).
  • Fixed bug GH-20002 (Broken build on *BSD with MSAN).

CLI

  • Fix useless "Failed to poll event" error logs due to EAGAIN in CLI server with PHP_CLI_SERVER_WORKERS.

Curl

  • Fix cloning of CURLOPT_POSTFIELDS when using the clone operator instead of the curl_copy_handle() function to clone a CurlHandle.
  • Fix curl build and test failures with version 8.16.

Date

  • Fixed GH-17159: "P" format for ::createFromFormat swallows string literals.

DBA

  • Fixed GH-19885 (dba_fetch() overflow on skip argument).

GD

  • Fixed GH-19955 (imagefttext() memory leak).

MySQLnd

  • Fixed bug #67563 (mysqli compiled with mysqlnd does not take ipv6 adress as parameter).

Phar

  • Fix memory leak and invalid continuation after tar header writing fails.
  • Fix memory leaks when creating temp file fails when applying zip signature.

SimpleXML

  • Fixed bug GH-19988 (zend_string_init with NULL pointer in simplexml (UB)).

Soap

  • Fixed bug GH-19784 (SoapServer memory leak).
  • Fixed bug GH-20011 (Array of SoapVar of unknown type causes crash).

Standard

  • Fixed bug GH-12265 (Cloning an object breaks serialization recursion).
  • Fixed bug GH-19701 (Serialize/deserialize loses some data).
  • Fixed bug GH-19801 (leaks in var_dump() and debug_zval_dump()).
  • Fixed bug GH-20043 (array_unique assertion failure with RC1 array causing an exception on sort).
  • Fixed bug GH-19926 (reset internal pointer earlier while splicing array while COW violation flag is still set).
  • Fixed bug GH-19570 (unable to fseek in /dev/zero and /dev/null).

Streams

  • Fixed bug GH-19248 (Use strerror_r instead of strerror in main).
  • Fixed bug GH-17345 (Bug GH-35916 was not completely fixed).
  • Fixed bug GH-19705 (segmentation when attempting to flush on non seekable stream. (bukka/David Carlier)

XMLReader

  • Fixed bug GH-20009 (XMLReader leak on RelaxNG schema failure).

Zip

  • Fixed bug GH-19688 (Remove pattern overflow in zip addGlob()).
  • Fixed bug GH-19932 (Memory leak in zip setEncryptionName()/setEncryptionIndex()).

Zlib

  • Fixed bug GH-19922 (Double free on gzopen).

Commit List

Alexandre Daubois

  • Fix GH-19801: address leak when calling var_dump() with recursion in __debugInfo() in GH-19837
  • Fix GH-16319: protect fiber backtrace with null filename from crashing in GH-19973
  • Fix GH-19926: reset internal pointer earlier while splicing array while COW violation flag is still set in GH-19929

Appla

  • Fix hard_timeout when zend-max-execution-timers is enabled in ed9430a5d1

Arnaud Le Blanc

David Carlier

Derick Rethans

Eric Mann

George Wang

Guillaume Outters

  • Fix broken build on *BSD with MSAN in 26ca363a13

Ilija Tovilo

  • Fix incorrect HASH_FLAG_HAS_EMPTY_IND flag on userland array in f045716288
  • Fix use-of-uninitialized-value in zend_get_arg_offset_by_name() in 6eb3faef3b
  • Fix curl 8.16.0 compilation with zts in 266cb7d892
  • Fix more curl 8.16 issues in a885372a08
  • Automatically skip tty tests if not on tty in 831597748b
  • Fix curl 8.16.0 compilation with zts in da75e41a6f
  • Fix more curl 8.16 issues in b810a23587

Jakub Zelenka

  • Revert "fix pipe detection for STDERR." in c0f8bb6622
  • Add stream filter convert.* tests in GH-19976
  • Fix GH-19248: Use strerror_r instead of strerror in main in b7fdfb7147
  • Do not use errno_t as it is not defined on musl in GH-20037
  • Prevent use after stack scope in stream strerr code in GH-20040
  • Fix curl_setopt_ssl test for curl 8.16 in 36859ad977
  • Update NEWS with info about curl 8.16 compat fixes in 742b7d8e55
  • Update NEWS entry for curl 8.16 update in 78a24ffc03

Leo Gaskin

  • Treat accept failing with SOCK_EAGAIN as success in CLI web server in 7e7d6d6380

Niels Dossche

Shivam Mathur

Tim Düsterhus

  • zend_API: Do not overwrite readonly properties in object_properties_load() in GH-19767
  • curl: Fix cloning of POST fields in GH-19813
  • CI: Do not save ccache for PRs for LINUX_X32 in db65d22ce2
  • gdbinit: Fix printing of variable names in print_cvs in GH-20077
Subscribe to PHP.Watch newsletter for monthly updates

You will receive an email on last Wednesday of every month and on major PHP releases with new articles related to PHP, upcoming changes, new features and what's changing in the language. No marketing emails, no selling of your contacts, no click-tracking, and one-click instant unsubscribe from any email you receive.