Repository: open-telemetry/opentelemetry-ebpf-profiler

Issue:
Support PHP 8.4
With PHP 8.4.6 on Debian trixie, his log line is printed:
```
time="2025-05-14T15:39:19.757746293+02:00" level=error msg="Failed to load /usr/bin/php8.4 (0xcda84bb08a78326f): PHP version 8.4.6 (need >= 7.3 and < 8.4)"
```

Discussion:
@danielpacak: Heya @rockdaboot - do you think I can help with this issue? I happened to play with PHP recently so should be able to verify quickly what's missing for PHP 8.4.@florianl: I have assigned the issue to you, @danielpacak . Happy to help, if you need assistance. @danielpacak: To start with an example app that everyone can refer to I'm going to use wordpress. It has container images for PHP 8.3 and PHP 8.4 so it's easy to reproduce and verify the fix.

``` yaml
services:
  wordpress:
    image: wordpress:6.8.2-php8.4-apache
    #image: wordpress:6.8.2-php8.3-apache
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - wordpress:/var/www/html
  db:
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db:/var/lib/mysql
volumes:
  wordpress:
  db:
```

The ebpf-profiler works for `docker.io/library/wordpress:6.8.2-php8.3-apache`, but does not work for `docker.io/library/wordpress:6.8.2-php8.4-apache`. Let's figure what's missing.

```
------------------- New Sample -------------------
  thread.name: apache2
  process.executable.name: apache2
  process.executable.path: /usr/sbin/apache2
  process.pid: 270722
  thread.id: 270722
---------------------------------------------------
Instrumentation: php, Function: apply_filters, File: /var/www/html/wp-includes/class-wp-hook.php, Line: 321, Column: 0
Instrumentation: php, Function: apply_filters, File: /var/www/html/wp-includes/plugin.php, Line: 205, Column: 0
Instrumentation: php, Function: wp_kses_hook, File: /var/www/html/wp-includes/kses.php, Line: 948, Column: 0
Instrumentation: php, Function: wp_kses, File: /var/www/html/wp-includes/kses.php, Line: 754, Column: 0
Instrumentation: php, Function: wp_kses_split2, File: /var/www/html/wp-includes/kses.php, Line: 1155, Column: 0
Instrumentation: php, Function: _wp_kses_split_callback, File: /var/www/html/wp-includes/kses.php, Line: 1071, Column: 0
Instrumentation: php, Function: preg_replace_callback, File: , Line: 0, Column: 0
Instrumentation: php, Function: wp_kses_split, File: /var/www/html/wp-includes/kses.php, Line: 1001, Column: 0
Instrumentation: php, Function: wp_kses, File: /var/www/html/wp-includes/kses.php, Line: 756, Column: 0
Instrumentation: php, Function: wp_kses_post, File: /var/www/html/wp-includes/kses.php, Line: 2234, Column: 0
Instrumentation: php, Function: prepare_item_for_response, File: /var/www/html/wp-includes/rest-api/endpoints/class-wp-rest-pattern-directory-controller.php, Line: 199, Column: 0
Instrumentation: php, Function: get_items, File: /var/www/html/wp-includes/rest-api/endpoints/class-wp-rest-pattern-directory-controller.php, Line: 174, Column: 0
Instrumentation: php, Function: respond_to_request, File: /var/www/html/wp-includes/rest-api/class-wp-rest-server.php, Line: 1292, Column: 0
Instrumentation: php, Function: dispatch, File: /var/www/html/wp-includes/rest-api/class-wp-rest-server.php, Line: 1125, Column: 0
Instrumentation: php, Function: rest_do_request, File: /var/www/html/wp-includes/rest-api.php, Line: 586, Column: 0
Instrumentation: php, Function: _load_remote_featured_patterns, File: /var/www/html/wp-includes/block-patterns.php, Line: 276, Column: 0
Instrumentation: php, Function: get_items, File: /var/www/html/wp-includes/rest-api/endpoints/class-wp-rest-block-patterns-controller.php, Line: 108, Column: 0
Instrumentation: php, Function: respond_to_request, File: /var/www/html/wp-includes/rest-api/class-wp-rest-server.php, Line: 1292, Column: 0
Instrumentation: php, Function: dispatch, File: /var/www/html/wp-includes/rest-api/class-wp-rest-server.php, Line: 1125, Column: 0
Instrumentation: php, Function: serve_request, File: /var/www/html/wp-includes/rest-api/class-wp-rest-server.php, Line: 439, Column: 0
Instrumentation: php, Function: rest_api_loaded, File: /var/www/html/wp-includes/rest-api.php, Line: 459, Column: 0
Instrumentation: php, Function: apply_filters, File: /var/www/html/wp-includes/class-wp-hook.php, Line: 324, Column: 0
Instrumentation: php, Function: do_action, File: /var/www/html/wp-includes/class-wp-hook.php, Line: 348, Column: 0
Instrumentation: php, Function: do_action_ref_array, File: /var/www/html/wp-includes/plugin.php, Line: 565, Column: 0
Instrumentation: php, Function: parse_request, File: /var/www/html/wp-includes/class-wp.php, Line: 418, Column: 0
Instrumentation: php, Function: main, File: /var/www/html/wp-includes/class-wp.php, Line: 818, Column: 0
Instrumentation: php, Function: wp, File: /var/www/html/wp-includes/functions.php, Line: 1342, Column: 0
Instrumentation: php, Function: <top-level>, File: /var/www/html/wp-blog-header.php, Line: 16, Column: 0
Instrumentation: php, Function: <top-level>, File: /var/www/html/index.php, Line: 17, Column: 0
```

Solution patch:
diff --git a/interpreter/php/php.go b/interpreter/php/php.go
index c7f7222..203826f 100644
--- a/interpreter/php/php.go
+++ b/interpreter/php/php.go
@@ -271,9 +271,9 @@ func Loader(ebpf interpreter.EbpfHandler, info *interpreter.LoaderInfo) (interpr
 		return nil, err
 	}
 
-	// Only tested on PHP7.3-PHP8.3. Other similar versions probably only require
+	// Only tested on PHP7.3-PHP8.4. Other similar versions probably only require
 	// tweaking the offsets.
-	minVer, maxVer := phpVersion(7, 3, 0), phpVersion(8, 4, 0)
+	minVer, maxVer := phpVersion(7, 3, 0), phpVersion(8, 5, 0)
 	if version < minVer || version >= maxVer {
 		return nil, fmt.Errorf("PHP version %d.%d.%d (need >= %d.%d and < %d.%d)",
 			(version>>16)&0xff, (version>>8)&0xff, version&0xff,
@@ -343,6 +343,10 @@ func Loader(ebpf interpreter.EbpfHandler, info *interpreter.LoaderInfo) (interpr
 	vms.zend_string.val = 24
 	vms.zend_op.lineno = 24
 	switch {
+	case version >= phpVersion(8, 4, 0):
+		vms.zend_function.op_array_filename = 168
+		vms.zend_function.op_array_linestart = 176
+		vms.zend_function.Sizeof = 184
 	case version >= phpVersion(8, 3, 0):
 		vms.zend_function.op_array_filename = 144
 		vms.zend_function.op_array_linestart = 152



Test patch:
diff --git a/tools/coredump/testdata/amd64/php-8.4.15-prime.json b/tools/coredump/testdata/amd64/php-8.4.15-prime.json
new file mode 100644
index 0000000..ab3358e
--- /dev/null
+++ b/tools/coredump/testdata/amd64/php-8.4.15-prime.json
@@ -0,0 +1,184 @@
+{
+  "coredump-ref": "e1459bd6f799dbf854b25780e3a7bb1e07042e82e6bd3b981fa174b64a988076",
+  "threads": [
+    {
+      "lwp": 44047,
+      "frames": [
+        "php8.4+0x3785e0",
+        "is_prime+13 in /home/dpacak/go/src/github.com/danielpacak/opentelemetry-ebpf-profiler/tools/coredump/testsources/php/prime.php:16",
+        "<top-level>+33 in /home/dpacak/go/src/github.com/danielpacak/opentelemetry-ebpf-profiler/tools/coredump/testsources/php/prime.php:34",
+        "php8.4+0x3bc104",
+        "php8.4+0x3b9f84",
+        "php8.4+0x422113",
+        "php8.4+0x2b9ad7",
+        "php8.4+0x423fff",
+        "php8.4+0x137907",
+        "libc.so.6+0x29d8f",
+        "libc.so.6+0x29e3f",
+        "php8.4+0x138994"
+      ]
+    }
+  ],
+  "modules": [
+    {
+      "ref": "7a4f18ffaabfb20a5b588a62e365cab03fd1b5eb4d7cc8f8f705c89de8104970",
+      "local-path": "/usr/lib/php/20240924/iconv.so"
+    },
+    {
+      "ref": "4462c165b31cb9864bde7007e833e0b5c505cd0a3d5800bc324bea495a11cb24",
+      "local-path": "/usr/lib/php/20240924/gettext.so"
+    },
+    {
+      "ref": "64c206f0146cc58bbddc4f22054436f4ff278f5a554aa3ce6921ddf7e9133370",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libz.so.1.2.11"
+    },
+    {
+      "ref": "660a6abeaa243ab1487155bf770df19e599459c074db3a016578cf3cd4ffb720",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libssl.so.3"
+    },
+    {
+      "ref": "e4ad21c203d8e8b9b7f49071311339af6b438026e1ad236403e3b379b022f23d",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libbsd.so.0.11.5"
+    },
+    {
+      "ref": "72c3a07afb909f7c55b652dd7ed6a8544441eef97ca1385b05121720f53bff5e",
+      "local-path": "/usr/lib/php/20240924/sysvmsg.so"
+    },
+    {
+      "ref": "c1404396288e178c8db2f30203cb8150e4d2c14cacee9a2883e0092f45399cc8",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libicudata.so.70.1"
+    },
+    {
+      "ref": "26f2bb91f2239ac93aea0a5ab50d8793195fd02648256e93ed951fa30de27562",
+      "local-path": "/usr/lib/php/20240924/opcache.so"
+    },
+    {
+      "ref": "247da4d5d34a91cadcdd6282be4c4644fcb8af001334d2b8a82ecda435418cbf",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libffi.so.8.1.0"
+    },
+    {
+      "ref": "bb376813876bb214535bbbdac70f2c0c4b00baecb81557dab78a79518248df06",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libmd.so.0.0.5"
+    },
+    {
+      "ref": "4683f3623dc47a92e862dc3c8770caff81c9f4c7e116bb672fc439737b06d88a",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libicuuc.so.70.1"
+    },
+    {
+      "ref": "4de694ee4550d9a7c3bbdf975dd0bb5f54b4161b453a674c4d06464e0a8399c3",
+      "local-path": "/usr/lib/php/20240924/calendar.so"
+    },
+    {
+      "ref": "ef58def3bb20b203d413fd8e44bb9a4ce300573cf99ed43a12eddfac9e8cc17c",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libcrypto.so.3"
+    },
+    {
+      "ref": "4eb214d9b743a54462ac30b1c6af0676f275081290d5409f06664964504b2638",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libxml2.so.2.9.14"
+    },
+    {
+      "ref": "0aa97db012453516a5675630ee23eca2c316e92417fd4a3e1474055cb237628b",
+      "local-path": "/usr/lib/php/20240924/tokenizer.so"
+    },
+    {
+      "ref": "6d79d4446bc76db0938e8d45985391f0c0a75907165e77ce564529d195c9125f",
+      "local-path": "/usr/lib/php/20240924/sysvshm.so"
+    },
+    {
+      "ref": "ac4a0045bb6ea0003ee065945bf51315b854bc0e38a86eb1a780367c53b4fecf",
+      "local-path": "/usr/lib/php/20240924/ctype.so"
+    },
+    {
+      "ref": "e9eb27fa3c376222cf02eb86f024d6ef1efec8ad65858200daae5de2da28813b",
+      "local-path": "/usr/lib/php/20240924/exif.so"
+    },
+    {
+      "ref": "6e28ee37e8e1ee5ddb4292d58a668b8cd5bb5f928390b07021d842a91fff9f2b",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libc.so.6"
+    },
+    {
+      "ref": "8665612c4f6ad7438b8ab4ace3938a8c9ce06c794fe5f294f61b1ea0f15a6bb1",
+      "local-path": "/usr/bin/php8.4"
+    },
+    {
+      "ref": "1594d475b771bf8cbb547f0e9b0c842ec37628d42c6747960b4d7c12a4cf4427",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libtinfo.so.6.3"
+    },
+    {
+      "ref": "81dbdf431b1d828bad9e2511b562310bd3f0bdb1bad998775406d2784426fd66",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libedit.so.2.0.68"
+    },
+    {
+      "ref": "189fad5d58df5b9583578931c00f74277fbd9f82ab479cd207c6bd09c5410ef6",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.11.2"
+    },
+    {
+      "ref": "a4a774ebdd25c5e25087215d0a2f1a428bd05c761b9f77cd14916e62d7ba01ed",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libargon2.so.1"
+    },
+    {
+      "ref": "e29551cb54148655076d0c6c6bc40b9121a6e238f0b2a9f0ca9815a27a000782",
+      "local-path": "/usr/lib/php/20240924/fileinfo.so"
+    },
+    {
+      "ref": "0953c9a01d2d0f171896f0ab4221f2c51fcd7f4f9c1de215ca5b4be3d7cfa7a5",
+      "local-path": "/usr/lib/php/20240924/sockets.so"
+    },
+    {
+      "ref": "0f49b29ed4587bed4e49d3532ceeb43b138aa82ea1ec3ce5591dab827f2a1cab",
+      "local-path": "/usr/lib/php/20240924/shmop.so"
+    },
+    {
+      "ref": "9ff802a0e4343c3d4e62afe37478309376db4ec0c54a3eb4acfcd94e4fcb99db",
+      "local-path": "/usr/lib/php/20240924/readline.so"
+    },
+    {
+      "ref": "7553773a867d433055341f36f7d1c208025dc24d24b129211894fdda7ac1fb9a",
+      "local-path": "/usr/lib/php/20240924/posix.so"
+    },
+    {
+      "ref": "c8d65147de6aa06611c7b231260982be0bae43b935b6a6c2447233a2ed4294ad",
+      "local-path": "/usr/lib/php/20240924/phar.so"
+    },
+    {
+      "ref": "553f978a680de74d81969a73d784956028dfe594f1025500a68b1a33149d263a",
+      "local-path": "/usr/lib/php/20240924/ftp.so"
+    },
+    {
+      "ref": "efa0097bef57fa23823ab54448f1c721b7de31bd422534c9acaddd96832acb06",
+      "local-path": "/usr/lib/php/20240924/pdo.so"
+    },
+    {
+      "ref": "f9cb3134acd3f6d5f9bb9c7fd31612640c1365a3d20024e14d706af62eff4a49",
+      "local-path": "/usr/lib/php/20240924/sysvsem.so"
+    },
+    {
+      "ref": "936bcba776c995e4ba825c506dfccfce6da168a696247e33058853b3234f64cb",
+      "local-path": "/usr/lib/php/20240924/ffi.so"
+    },
+    {
+      "ref": "493cb401ab4aa3bba611ca464d12996afb3b327940d29476f535f999e167439b",
+      "local-path": "/usr/lib/x86_64-linux-gnu/liblzma.so.5.2.5"
+    },
+    {
+      "ref": "2361eaf7645b2014106c0c05644875b28476fe14d21d9af9d2d94d61d3da5fef",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libsodium.so.23.3.0"
+    },
+    {
+      "ref": "a93ec41b336a895a7f0d7b789d66f6fc816de1a5ad0da37e8cfc428d7e9f8dd4",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libgcc_s.so.1"
+    },
+    {
+      "ref": "1a08a427bbf3790aa434d2310e8c724846ec72ba7811982e85b0002dd296ca92",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libm.so.6"
+    },
+    {
+      "ref": "9739c1dc9bff2b11533a38d4218a1a926638a4d8262ef1c9d75c17290ac257e9",
+      "local-path": "/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2"
+    },
+    {
+      "ref": "2fb167641d95f9701f9e5aea01f0caec9a539d257212116aef650c2d7fd6e041",
+      "local-path": "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30"
+    }
+  ]
+}
diff --git a/tools/coredump/testdata/arm64/php-8.4.15-prime.json b/tools/coredump/testdata/arm64/php-8.4.15-prime.json
new file mode 100644
index 0000000..f89604a
--- /dev/null
+++ b/tools/coredump/testdata/arm64/php-8.4.15-prime.json
@@ -0,0 +1,183 @@
+{
+  "coredump-ref": "3c247486b4025297cb84a7de59c8c597689c75048bcf370a47a1847d8f2e5e00",
+  "threads": [
+    {
+      "lwp": 15861,
+      "frames": [
+        "is_prime+13 in /Users/dpacak/go/src/github.com/danielpacak/opentelemetry-ebpf-profiler/tools/coredump/testsources/php/prime.php:16",
+        "<top-level>+33 in /Users/dpacak/go/src/github.com/danielpacak/opentelemetry-ebpf-profiler/tools/coredump/testsources/php/prime.php:34",
+        "php8.4+0x3b29f0",
+        "php8.4+0x3aca5f",
+        "php8.4+0x418533",
+        "php8.4+0x29f02b",
+        "php8.4+0x41a303",
+        "php8.4+0x114133",
+        "libc.so.6+0x273ff",
+        "libc.so.6+0x274d7",
+        "php8.4+0x11422f"
+      ]
+    }
+  ],
+  "modules": [
+    {
+      "ref": "fe664aac73a98f84974caccde2334b61e6dc0c9a25d4dda0667ef033ca52ba58",
+      "local-path": "/usr/lib/php/20240924/pdo.so"
+    },
+    {
+      "ref": "6ab538560fba1f82e80459e3d5eac8ba258ac18fa29f974ac1e2a532db150488",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libicuuc.so.70.1"
+    },
+    {
+      "ref": "f541f9105c8bc78b33e6e188d00e158d9ae544a3eb2a9e83cf60c095e82277bd",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libssl.so.3"
+    },
+    {
+      "ref": "86bcb4b5addd2dcfc1df5b42c5ead486daa5fe82ac045c8f222dfec70e576c9d",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libm.so.6"
+    },
+    {
+      "ref": "c91287f2909da6efc73c0198c6c786632d6d285284f324ca06bcd69f266b6f4a",
+      "local-path": "/usr/lib/php/20240924/fileinfo.so"
+    },
+    {
+      "ref": "e4b93882f94541d4238618036fc7256c9898096611d769193bb9ed3c9d123f42",
+      "local-path": "/usr/lib/php/20240924/calendar.so"
+    },
+    {
+      "ref": "a729f066a97afdd76d3928440d9ce21bf0a075b513cc1a0e90fd9ac3e9edad40",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libargon2.so.1"
+    },
+    {
+      "ref": "2f55019a2fcd682e34e40863d39531b606610dea4ec4e25fcd8855c7c39ea2e0",
+      "local-path": "/usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1"
+    },
+    {
+      "ref": "6ba2d7f4512e1e0635a51561a9587ca0bac140e8627a0fb916b4b2b5657b140d",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libgcc_s.so.1"
+    },
+    {
+      "ref": "fb0b20145592fd78157137d7d125839d537720e52d887f5ee0020f7157979175",
+      "local-path": "/usr/lib/php/20240924/sysvshm.so"
+    },
+    {
+      "ref": "230e14269bf29bbacfdf3e773a11602f2f56f1699b74b30383677565f9f4ad86",
+      "local-path": "/usr/lib/php/20240924/sockets.so"
+    },
+    {
+      "ref": "18de997ab0c3c2a22f0a3ea44129167c79131ec06e4ffbfa44493515b29d7c3b",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libedit.so.2.0.68"
+    },
+    {
+      "ref": "b6d96cdb66177b9a87a7acd9a649c3384476ae26a6a53fd91f189615afc6995d",
+      "local-path": "/usr/lib/php/20240924/ffi.so"
+    },
+    {
+      "ref": "a35c353eb18b6e11c4f8d8ba6187e1e4528d94296df2fb86221c1799b4cd8ed4",
+      "local-path": "/usr/bin/php8.4"
+    },
+    {
+      "ref": "707ae65e2fee66034ee3bd7ec1cbe200033221c39f9ed5cc854270ece2c72a04",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libsodium.so.23.3.0"
+    },
+    {
+      "ref": "8cd4dd1e893bc67102bbe7d2f0e895a98dd142857228c70bef7878a55eb58bb6",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libz.so.1.2.11"
+    },
+    {
+      "ref": "ba387b95a5ba19f01e504f83f534accf136c72a5803d52c7deb62dadea01715b",
+      "local-path": "/usr/lib/php/20240924/sysvmsg.so"
+    },
+    {
+      "ref": "852d6d5ee1fe6f375911baa68cdab8c98c4cc51c816eae8790c2f6830e297187",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libmd.so.0.0.5"
+    },
+    {
+      "ref": "4f3d2506c5d120df7964ceb49fcbbe828c7cd8fba81c7641c6698393b859a738",
+      "local-path": "/usr/lib/php/20240924/readline.so"
+    },
+    {
+      "ref": "bf64974060763b03c9aa6c9d74dda71a8a5b8df55209572c7432bb6137c464ca",
+      "local-path": "/usr/lib/php/20240924/gettext.so"
+    },
+    {
+      "ref": "ac77b0edce142d244bb66d82a8d0460263cddc71db8974b910051223d07daed5",
+      "local-path": "/usr/lib/php/20240924/ctype.so"
+    },
+    {
+      "ref": "3da8981d9ab934354b74e904baf787ee2211a97a163183b3655efe4a59008f91",
+      "local-path": "/usr/lib/aarch64-linux-gnu/liblzma.so.5.2.5"
+    },
+    {
+      "ref": "4b2a5a6610f97af4cd35001811f5bdd37558dd107e3b5e2f8dfd3a75b3f3dbb5",
+      "local-path": "/usr/lib/php/20240924/sysvsem.so"
+    },
+    {
+      "ref": "c7255cce49043d188fe923b3850d2c960c44b40ced781761a7dc47c8df865201",
+      "local-path": "/usr/lib/php/20240924/shmop.so"
+    },
+    {
+      "ref": "004c33b7e33c9f5c8bdd73a71be95f016a41a14febc9c359b23e5108bd08779e",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libtinfo.so.6.3"
+    },
+    {
+      "ref": "f1f727aadec05560efc455853b1942fd54525d248a7164f1f47c36dc8b5ba386",
+      "local-path": "/usr/lib/php/20240924/phar.so"
+    },
+    {
+      "ref": "b6fdcd9f4582781b20d9de62aeca4b58b36e54c516c9aa58320b241f601268c2",
+      "local-path": "/usr/lib/php/20240924/ftp.so"
+    },
+    {
+      "ref": "b8b0c12b8010d68f657287963645038257832504d3567d95326b6f98846965df",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libc.so.6"
+    },
+    {
+      "ref": "f2cec5aa341e10b0cf75b22ea1f21137e2de0dc0d0ab9f59d4e94e4a944c24db",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libpcre2-8.so.0.10.4"
+    },
+    {
+      "ref": "4dfe11ec00895bf26e776f9a0f0c95f8268143814f487ba6800559dc3af5cdd7",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libxml2.so.2.9.13"
+    },
+    {
+      "ref": "495d69894cb807664167df924fa7d309cfec6177eb697086b156a2d762c090d8",
+      "local-path": "/usr/lib/php/20240924/exif.so"
+    },
+    {
+      "ref": "fecb9712229de8d60542811104343135ccc57da0981d35d27ed3997065ed27e8",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30"
+    },
+    {
+      "ref": "71d59d1c5daf452f3b8c44c7000507aa2e0dbc1d48e354781d4d25be041c716b",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libbsd.so.0.11.5"
+    },
+    {
+      "ref": "166d21eea97fa748a797373d4516c081b66ee0ab809b07b432c9390a64a74f29",
+      "local-path": "/usr/lib/php/20240924/posix.so"
+    },
+    {
+      "ref": "cd1d3c24a4efdaae72d5c3da7da119c0a80175b1aef3ababd020b7585bfe4ba6",
+      "local-path": "/usr/lib/php/20240924/iconv.so"
+    },
+    {
+      "ref": "84d0b21f7ed31b1e64ae027120eff8b42c1856f117f85b8c55bffe7beda544a7",
+      "local-path": "/usr/lib/php/20240924/opcache.so"
+    },
+    {
+      "ref": "5c5aa95e00ba3a1f52dc5f930498f5347662fea5fac97032d619b598879bba7e",
+      "local-path": "/usr/lib/php/20240924/tokenizer.so"
+    },
+    {
+      "ref": "b0c75d5a51c7ee793f7b8ac587a32fcf6d7c6ae08864581b6577478f75ff61f0",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libffi.so.8.1.0"
+    },
+    {
+      "ref": "727b7186c2197c7f354b0131792a37922b52760e6bb1d6fbe765c5357b2faf31",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libicudata.so.70.1"
+    },
+    {
+      "ref": "6a19fda99b134a100168cfd38b4261c92885159ee28972b4ace7c0fdc5a985a9",
+      "local-path": "/usr/lib/aarch64-linux-gnu/libcrypto.so.3"
+    }
+  ]
+}