Commit 810f0c6a818 for php

commit 810f0c6a81879cadf301cdbde3422a15a5ac33f5
Author: Sjoerd Langkemper <sjoerd-github@linuxonly.nl>
Date:   Fri Oct 16 15:02:53 2026 +0000

    Use FreeBSD 14.4 in GitHub actions

    FreeBSD 13 is no longer supported.

    Closes GH-24374

diff --git a/.github/actions/freebsd/action.yml b/.github/actions/freebsd/action.yml
index 588cb1fc013..3cfdae761af 100644
--- a/.github/actions/freebsd/action.yml
+++ b/.github/actions/freebsd/action.yml
@@ -12,7 +12,7 @@ runs:
     - name: FreeBSD
       uses: vmactions/freebsd-vm@v1
       with:
-        release: '13.5'
+        release: '14.4'
         usesh: true
         copyback: false
         disable-cache: true
diff --git a/ext/sockets/tests/socket_sentto_recvfrom_unix.phpt b/ext/sockets/tests/socket_sentto_recvfrom_unix.phpt
index 90fcc9724ce..75d318dc6a7 100644
--- a/ext/sockets/tests/socket_sentto_recvfrom_unix.phpt
+++ b/ext/sockets/tests/socket_sentto_recvfrom_unix.phpt
@@ -9,7 +9,9 @@
 }
 --FILE--
 <?php
-    $socket = socket_create(AF_UNIX, SOCK_DGRAM, SOL_UDP); // cause warning
+    // Whether this conflicting combination emits a warning is platform-dependent
+    // (FreeBSD 14 accepts it), so suppress it.
+    @socket_create(AF_UNIX, SOCK_DGRAM, SOL_UDP);
     $socket = socket_create(AF_UNIX, SOCK_DGRAM, 0);
     if (!$socket) {
         die('Unable to create AF_UNIX socket');
@@ -50,7 +52,6 @@
     @unlink($address);
 ?>
 --EXPECTF--
-Warning: socket_create(): Unable to create socket [%d]: Protocol not supported in %s on line %d
 bool(false)
 bool(false)
 Received Ping!
diff --git a/ext/sockets/tests/socket_tcp_congestion.phpt b/ext/sockets/tests/socket_tcp_congestion.phpt
index 2dade02f3fb..640ecde439b 100644
--- a/ext/sockets/tests/socket_tcp_congestion.phpt
+++ b/ext/sockets/tests/socket_tcp_congestion.phpt
@@ -10,15 +10,14 @@
 --FILE--
 <?php

-if (str_contains(PHP_OS, 'Linux')) {
-	$algo = 'cubic';
-} else {
-	$algo = 'newreno';
-}
 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
 if (!$socket) die ("socket failed");
 $r = socket_get_option($socket, SOL_TCP, TCP_CONGESTION);
-echo "current tcp congestion algo " . $r['name'] . "\n";
+/* Use the algorithm currently in effect: it is guaranteed to be available and
+ * allowed for unprivileged accounts, unlike "newreno" which is no longer loaded
+ * by default on FreeBSD 14. */
+$algo = $r['name'];
+echo "current tcp congestion algo " . $algo . "\n";
 var_dump(socket_set_option($socket, SOL_TCP, TCP_CONGESTION, $algo));
 $r = socket_get_option($socket, SOL_TCP, TCP_CONGESTION);
 echo "new tcp congestion algo " . $r['name'];
diff --git a/ext/standard/tests/file/lstat_stat_variation18.phpt b/ext/standard/tests/file/lstat_stat_variation18.phpt
index e3c8386e70f..9291de26939 100644
--- a/ext/standard/tests/file/lstat_stat_variation18.phpt
+++ b/ext/standard/tests/file/lstat_stat_variation18.phpt
@@ -62,7 +62,7 @@ public function __construct($name) {
   [5]=>
   int(%d)
   [6]=>
-  int(%d)
+  int(%i)
   [7]=>
   int(%d)
   [8]=>
@@ -118,7 +118,7 @@ public function __construct($name) {
   [5]=>
   int(%d)
   [6]=>
-  int(%d)
+  int(%i)
   [7]=>
   int(%d)
   [8]=>
diff --git a/ext/standard/tests/file/lstat_stat_variation19.phpt b/ext/standard/tests/file/lstat_stat_variation19.phpt
index 18ad03e52d2..24af43599ef 100644
--- a/ext/standard/tests/file/lstat_stat_variation19.phpt
+++ b/ext/standard/tests/file/lstat_stat_variation19.phpt
@@ -63,7 +63,7 @@
   [5]=>
   int(%d)
   [6]=>
-  int(%d)
+  int(%i)
   [7]=>
   int(%d)
   [8]=>
@@ -117,7 +117,7 @@
   [5]=>
   int(%d)
   [6]=>
-  int(%d)
+  int(%i)
   [7]=>
   int(%d)
   [8]=>
@@ -173,7 +173,7 @@
   [5]=>
   int(%d)
   [6]=>
-  int(%d)
+  int(%i)
   [7]=>
   int(%d)
   [8]=>
@@ -227,7 +227,7 @@
   [5]=>
   int(%d)
   [6]=>
-  int(%d)
+  int(%i)
   [7]=>
   int(%d)
   [8]=>
diff --git a/ext/standard/tests/file/lstat_stat_variation20.phpt b/ext/standard/tests/file/lstat_stat_variation20.phpt
index 5bff0456eba..cfff4571ae1 100644
--- a/ext/standard/tests/file/lstat_stat_variation20.phpt
+++ b/ext/standard/tests/file/lstat_stat_variation20.phpt
@@ -72,7 +72,7 @@ public function __construct($name) {
   [5]=>
   int(%d)
   [6]=>
-  int(%d)
+  int(%i)
   [7]=>
   int(%d)
   [8]=>
@@ -128,7 +128,7 @@ public function __construct($name) {
   [5]=>
   int(%d)
   [6]=>
-  int(%d)
+  int(%i)
   [7]=>
   int(%d)
   [8]=>
@@ -182,7 +182,7 @@ public function __construct($name) {
   [5]=>
   int(%d)
   [6]=>
-  int(%d)
+  int(%i)
   [7]=>
   int(%d)
   [8]=>
@@ -236,7 +236,7 @@ public function __construct($name) {
   [5]=>
   int(%d)
   [6]=>
-  int(%d)
+  int(%i)
   [7]=>
   int(%d)
   [8]=>
diff --git a/ext/standard/tests/strings/setlocale_variation2.phpt b/ext/standard/tests/strings/setlocale_variation2.phpt
index 6f62f71ac1f..9c32e5ba82e 100644
--- a/ext/standard/tests/strings/setlocale_variation2.phpt
+++ b/ext/standard/tests/strings/setlocale_variation2.phpt
@@ -5,6 +5,9 @@
 if (substr(PHP_OS, 0, 3) == 'WIN') {
     die('skip Not valid for windows');
 }
+if (PHP_OS === 'FreeBSD') {
+    die("skip Some locales listed by locale -a on FreeBSD (e.g. hr_HR.ISO8859-2) are incomplete, cannot test LC_ALL");
+}
 exec("locale -a", $output, $exit_code);
 if ($exit_code !== 0) {
     die("skip locale -a not available");