Skip to content

[3.0] Refactor new extensions#1065

Closed
Copilot wants to merge 1 commit intov3-refactor/new-extensionsfrom
copilot/sub-pr-1051
Closed

[3.0] Refactor new extensions#1065
Copilot wants to merge 1 commit intov3-refactor/new-extensionsfrom
copilot/sub-pr-1051

Conversation

Copy link

Copilot AI commented Mar 20, 2026

Ports the full extension suite to the v3 framework and introduces several framework-level improvements discovered during the porting work.

Framework Changes

  • Dependency resolver: handles virtual-target packages, removes redundant deps (e.g. php-fpm), fixes transitive extension dep activation, marks transitive deps of static extensions as static
  • PHP Unix build: patches config.m4 files to use PKG_CHECK_MODULES_STATIC; refactors PKG_CHECK_MODULES to reuse make vars; adds SPC_CMD_VAR_PHP_MAKE_EXTRA_CXXFLAGS; patches info.c in release builds to strip configure command; adds SPC_MICRO_PATCHES + configure.ac handling; adds missing Windows XML patches; forward-ports set custom binary name for frankenphp, allow linking against system openssl (fix mssql issues) #1056 and fix: FrankenPHP build args #1057
  • Package env/path injection: new GlobalEnvManager + config-level env/path declarations in YAML — removes the need for per-package PHP boilerplate (e.g. go-xcaddy fully migrated to YAML)
  • Interactive input: all user prompts moved to constructors in Doctor, PackageInstaller, ArtifactDownloader
  • Artifact/source: getSourceDir prefers cache extract path; fixed GitHub tarball filename when tag name is absent; graceful Zig version index failure; PECL downloader supports unstable releases
  • PhpExtensionPackage: getSharedExtensionLoadString made public; getDistName reads display-name from config
  • dev:info command: significantly extended with PackageLoader registry class and richer ArtifactCache metadata
  • SourcePatcher: dropped obsolete php_micro.c existence check
  • ZigToolchain: workaround for strlcpy missing when building with zig-cc (swoole + openssl)
  • New targets: curl (static binary, promoted from lib), htop, rust, protoc

Supported Extensions

  • amqp
  • apcu
  • ast
  • bcmath
  • brotli
  • bz2
  • calendar
  • com_dotnet
  • ctype
  • curl
  • dba
  • dio
  • dom
  • ds
  • enchant
  • ev
  • event
  • excimer
  • exif
  • ffi
  • fileinfo
  • filter
  • ftp
  • gd
  • gettext
  • glfw
  • gmp
  • gmssl
  • grpc
  • iconv
  • igbinary
  • imagick
  • imap
  • inotify
  • intl
  • ldap
  • libxml
  • lz4
  • maxminddb
  • mbregex
  • mbstring
  • mcrypt
  • memcache
  • memcached
  • mongodb
  • msgpack
  • mysqli
  • mysqlnd
  • mysqlnd_ed25519
  • mysqlnd_parsec
  • oci8
  • odbc
  • opcache
  • openssl
  • opentelemetry
  • parallel
  • password-argon2
  • pcntl
  • pcov
  • pdo
  • pdo_mysql
  • pdo_odbc
  • pdo_pgsql
  • pdo_sqlite
  • pdo_sqlsrv
  • pgsql
  • phar
  • posix
  • protobuf
  • rar
  • rdkafka
  • readline
  • redis
  • session
  • shmop
  • simdjson
  • simplexml
  • snappy
  • snmp
  • soap
  • sockets
  • sodium
  • spx
  • sqlite3
  • sqlsrv
  • ssh2
  • swoole
  • swoole-hook-mysql
  • swoole-hook-odbc
  • swoole-hook-pgsql
  • swoole-hook-sqlite
  • swow
  • sysvmsg
  • sysvsem
  • sysvshm
  • tidy
  • tokenizer
  • trader
  • uuid
  • uv
  • xdebug
  • xhprof
  • xlswriter
  • xml
  • xmlreader
  • xmlwriter
  • xsl
  • xz
  • yac
  • yaml
  • zip
  • zlib
  • zstd

Checklist before merging

If your PR involves the changes mentioned below and completed the action, please tick the corresponding option.
If a modification is not involved, please skip it directly.

  • If you modified *.php or *.json, run them locally to ensure your changes are valid:
    • composer cs-fix
    • composer analyse
    • composer test
    • bin/spc dev:sort-config
  • If it's an extension or dependency update, please ensure the following:
    • Add your test combination to src/globals/test-extensions.php.
    • If adding new or fixing bugs, add commit message containing extension test or test extensions to trigger full test suite.

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI changed the title [WIP] [3.0] Refactor new extensions [3.0] Refactor new extensions Mar 20, 2026
Copilot AI requested a review from crazywhalecc March 20, 2026 01:46
@henderkes
Copy link
Collaborator

Wtf was this?

@henderkes henderkes deleted the copilot/sub-pr-1051 branch March 20, 2026 03:26
@crazywhalecc
Copy link
Owner

Well, I just want it to summarize the framework changes shortly, but it created another useless pr to do this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants