Skip to content

Add PHP 8.6.0beta3 with configuration files, extension support, and dependency management - #82

Merged
jwaisner merged 4 commits into
mainfrom
php-8.6
Sep 18, 2026
Merged

jwaisner merged 4 commits into
mainfrom
php-8.6

Conversation

@N6REJ

@N6REJ N6REJ commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

@N6REJ
N6REJ requested a review from jwaisner September 13, 2026 09:44
@N6REJ N6REJ added the enhancement ✨ Improve program label Sep 13, 2026
Auto-generated from release 2026.9.13
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Add PHP 8.6.0beta3 bundle and archive superseded releases

✨ Enhancement ⚙️ Configuration changes 🕐 20-40 Minutes

Grey Divider

AI Description

• Adds a configurable PHP 8.6.0beta3 bundle for Apache and CLI use.
• Defines downloadable PECL extensions, ImageMagick, and PEAR dependencies.
• Archives superseded PHP bundles and advances the package release date.
Diagram

graph TD
  B["Release Build"] --> P["PHP 8.6 Bundle"] --> C["Runtime Config"] --> R["Apache and CLI"]
  P --> M["Artifact Manifests"] --> A["Remote Packages"]
  B --> H["Archived Bundles"]
Loading
High-Level Assessment

The self-contained version directory matches the repository's existing packaging model and isolates PHP-specific runtime settings and artifacts. Shared manifests or generated configuration were considered, but would complicate version pinning and make archived bundles less reproducible.

Files changed (25) +1933 / -1

Enhancement (1) +9 / -0
bearsampp.confDefine PHP 8.6.0beta3 bundle metadata +9/-0

Define PHP 8.6.0beta3 bundle metadata

• Registers PHP 8.6.0beta3 executables, configuration file, PEAR launcher, and Apache 2.4 module with the Bearsampp bundle system.

bin/php8.6.0beta3/bearsampp.conf

Documentation (1) +2 / -0
README.txtDocument native dependency injection +2/-0

Document native dependency injection

• Explains where PHP and PECL native dependencies belong and how Bearsampp exposes them through PATH.

bin/php8.6.0beta3/deps/README.txt

Other (23) +1922 / -1
bearsampp.confArchive PHP 8.4.24 bundle metadata +0/-0

Archive PHP 8.4.24 bundle metadata

• Preserves the Bearsampp runtime metadata for PHP 8.4.24 in the archive.

bin/archived/php8.4.24/bearsampp.conf

deps.propertiesArchive PHP 8.4.24 dependency manifest +0/-0

Archive PHP 8.4.24 dependency manifest

• Preserves PHP 8.4.24 external dependency pins alongside the archived bundle.

bin/archived/php8.4.24/deps.properties

README.txtArchive PHP 8.4.24 dependency instructions +0/-0

Archive PHP 8.4.24 dependency instructions

• Retains the archived bundle's instructions for injecting native dependencies into PATH.

bin/archived/php8.4.24/deps/README.txt

exts.propertiesArchive PHP 8.4.24 extension manifest +0/-0

Archive PHP 8.4.24 extension manifest

• Preserves the downloadable extension definitions associated with PHP 8.4.24.

bin/archived/php8.4.24/exts.properties

pear.propertiesArchive PHP 8.4.24 PEAR manifest +0/-0

Archive PHP 8.4.24 PEAR manifest

• Retains the PEAR package source for the archived PHP 8.4.24 bundle.

bin/archived/php8.4.24/pear.properties

php.iniArchive PHP 8.4.24 runtime configuration +0/-0

Archive PHP 8.4.24 runtime configuration

• Preserves the complete PHP 8.4.24 initialization settings for reproducible archived builds.

bin/archived/php8.4.24/php.ini

bearsampp.confArchive PHP 8.5.8 bundle metadata +0/-0

Archive PHP 8.5.8 bundle metadata

• Preserves the Bearsampp runtime metadata for PHP 8.5.8 in the archive.

bin/archived/php8.5.8/bearsampp.conf

deps.propertiesArchive PHP 8.5.8 dependency manifest +0/-0

Archive PHP 8.5.8 dependency manifest

• Preserves PHP 8.5.8 external dependency pins alongside the archived bundle.

bin/archived/php8.5.8/deps.properties

README.txtArchive PHP 8.5.8 dependency instructions +0/-0

Archive PHP 8.5.8 dependency instructions

• Retains the archived bundle's instructions for injecting native dependencies into PATH.

bin/archived/php8.5.8/deps/README.txt

exts.propertiesArchive PHP 8.5.8 extension manifest +0/-0

Archive PHP 8.5.8 extension manifest

• Preserves the downloadable extension definitions associated with PHP 8.5.8.

bin/archived/php8.5.8/exts.properties

pear.propertiesArchive PHP 8.5.8 PEAR manifest +0/-0

Archive PHP 8.5.8 PEAR manifest

• Retains the PEAR package source for the archived PHP 8.5.8 bundle.

bin/archived/php8.5.8/pear.properties

php.iniArchive PHP 8.5.8 runtime configuration +0/-0

Archive PHP 8.5.8 runtime configuration

• Preserves the complete PHP 8.5.8 initialization settings for reproducible archived builds.

bin/archived/php8.5.8/php.ini

bearsampp.confArchive PHP 8.5.9 bundle metadata +0/-0

Archive PHP 8.5.9 bundle metadata

• Preserves the Bearsampp runtime metadata for PHP 8.5.9 in the archive.

bin/archived/php8.5.9/bearsampp.conf

deps.propertiesArchive PHP 8.5.9 dependency manifest +0/-0

Archive PHP 8.5.9 dependency manifest

• Preserves PHP 8.5.9 external dependency pins alongside the archived bundle.

bin/archived/php8.5.9/deps.properties

README.txtArchive PHP 8.5.9 dependency instructions +0/-0

Archive PHP 8.5.9 dependency instructions

• Retains the archived bundle's instructions for injecting native dependencies into PATH.

bin/archived/php8.5.9/deps/README.txt

exts.propertiesArchive PHP 8.5.9 extension manifest +0/-0

Archive PHP 8.5.9 extension manifest

• Preserves the downloadable extension definitions associated with PHP 8.5.9.

bin/archived/php8.5.9/exts.properties

pear.propertiesArchive PHP 8.5.9 PEAR manifest +0/-0

Archive PHP 8.5.9 PEAR manifest

• Retains the PEAR package source for the archived PHP 8.5.9 bundle.

bin/archived/php8.5.9/pear.properties

php.iniArchive PHP 8.5.9 runtime configuration +0/-0

Archive PHP 8.5.9 runtime configuration

• Preserves the complete PHP 8.5.9 initialization settings for reproducible archived builds.

bin/archived/php8.5.9/php.ini

deps.propertiesPin the ImageMagick runtime dependency +1/-0

Pin the ImageMagick runtime dependency

• Adds the portable ImageMagick 7.1.2-30 package required by the configured Imagick extension.

bin/php8.6.0beta3/deps.properties

exts.propertiesDefine optional PHP extension downloads +4/-0

Define optional PHP extension downloads

• Adds artifact sources for Imagick, Memcache, Xdebug, and Zip extensions used by the PHP 8.6 beta bundle.

bin/php8.6.0beta3/exts.properties

pear.propertiesPin the PEAR package distribution +1/-0

Pin the PEAR package distribution

• Configures PEAR 1.10.26 as the package management distribution for the new PHP bundle.

bin/php8.6.0beta3/pear.properties

php.iniConfigure the PHP 8.6 beta runtime +1915/-0

Configure the PHP 8.6 beta runtime

• Adds Bearsampp-specific paths, development limits, enabled core extensions, session storage, and Xdebug defaults. Placeholders support build-time extension injection and portable installation paths.

bin/php8.6.0beta3/php.ini

build.propertiesAdvance the PHP bundle release date +1/-1

Advance the PHP bundle release date

• Updates the bundle release identifier from 2026.8.27 to 2026.9.13 for the new package build.

build.properties

@github-actions

github-actions Bot commented Sep 13, 2026 •

Copy link
Copy Markdown
Contributor

🐘 PHP Module Tests - Results

Test Date: 2026-09-15 22:49:38 UTC
Status: ✅ All tests passed

📊 Test Results by Version

PHP 8.5.10

win10-amd
win10-intel
win11-amd
win11-intel

PHP 8.5.9

win10-amd
win10-intel
win11-amd
win11-intel

PHP 8.5.8

win10-amd
win10-intel
win11-amd
win11-intel

PHP 8.5.7

win10-amd
win10-intel
win11-amd
win11-intel

PHP 8.5.5

win10-amd
win10-intel
win11-amd
win11-intel

Results: 20 of 20 tests completed

All tests passed successfully! ✨


📋 Test Phases

Each version is tested through the following phases:

  • Phase 1: Basic PHP Validation (Download, Extract, Verify Executable)
  • Phase 2: Extension Validation (Download, Architecture Check, Loading Test)
  • Phase 3: Dependency Validation (Download Dependencies, Test with Dependencies)
  • Phase 4: Functional Testing (Test Extension Functionality)

Check artifacts for detailed logs.

@qodo-code-review

qodo-code-review Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Action required

1. Bundled add-ons fail under PHP 8.6 ✓ Resolved 🐞 Bug ≡ Correctness
Description
Every URL in exts.properties targets a PHP 8.5 build even though bearsampp.conf selects the PHP
8.6.0beta3 runtime. The release build copies these binaries into the new runtime and enables
imagick, memcache, zip, and the separately configured xdebug, where their mismatched module
interface prevents them from loading.
Code

bin/php8.6.0beta3/exts.properties[R1-4]

+imagick=https://github.com/Bearsampp/modules-untouched/releases/download/php-2026.8.27/php_imagick-3.8.1-8.5-ts-vs17-x64.zip
+memcache=https://github.com/Bearsampp/modules-untouched/releases/download/php-2026.8.27/php_memcache-8.2-8.5-ts-vs17-x64.zip
+xdebug=https://github.com/Bearsampp/modules-untouched/releases/download/php-2026.8.27/php_xdebug-3.5.3-8.5-ts-vs17-x86_64.dll
+zip = https://github.com/Bearsampp/modules-untouched/releases/download/php-2026.8.27/php_zip-1.22.8-8.5-ts-vs17-x64.zip
Evidence
The target runtime identifies itself as PHP 8.6.0beta3, while all four extension filenames
explicitly identify PHP 8.5. The release task processes this property file, downloads and copies
each DLL, and writes non-xdebug entries into php.ini; neighboring PHP 8.4 and 8.5 modules
consistently use artifacts matching their respective PHP minor versions.

bin/php8.6.0beta3/bearsampp.conf[1-7]
bin/php8.6.0beta3/exts.properties[1-4]
build.gradle[1288-1293]
build.gradle[1678-1727]
build.gradle[1750-1765]
bin/php8.4.25/exts.properties[1-4]
bin/php8.5.10/exts.properties[1-4]
bin/php8.6.0beta3/php.ini[1906-1915]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The PHP 8.6.0beta3 bundle currently downloads extension binaries built for PHP 8.5. These binaries are copied and enabled without a PHP module-interface compatibility check, causing the bundled extensions to fail during startup.

## Fix Focus Areas
- bin/php8.6.0beta3/exts.properties[1-4]
- bin/php8.6.0beta3/php.ini[1906-1915]

## Recommended Fix
Replace each URL with a thread-safe, VS17, x64 artifact built specifically for PHP 8.6. If a PHP 8.6 build is unavailable, omit that extension from `exts.properties`; for xdebug, also comment out its `zend_extension` directive and related configuration until a compatible binary is available.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
Review mode: ⚖️ Balanced: This adds a new PHP runtime configuration, extension and dependency mappings, and release metadata with broad deployment impact, but is primarily configuration rather than a dense multi-path logic change warranting redundant review.

Grey Divider

Tip of the day
💡 Did you know, you can type 'qodo, fix this' on a finding and the fix lands right on your PR

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread bin/php8.6.0beta3/exts.properties Outdated
@jwaisner
jwaisner merged commit 3ad6438 into main Sep 18, 2026
24 checks passed
@jwaisner
jwaisner deleted the php-8.6 branch September 18, 2026 01:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement ✨ Improve program

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants