Skip to content

Conversation

@pjcdawkins
Copy link
Contributor

Summary

  • PHP binaries are now downloaded from upsun/cli-php-builds releases instead of being built locally
  • This decouples PHP builds from CLI releases and simplifies the build process
  • Windows now uses a single static binary instead of ZIP with DLLs

Changes

  • Makefile: Replace local build targets with download targets
  • php_manager_windows.go: Simplify to use static binary (no ZIP/DLLs)
  • CLAUDE.md: Update build documentation
  • Remove ext/ submodule (~180MB) and build-php-brew.sh

Test plan

  • make php downloads PHP binary from cli-php-builds
  • make single builds CLI successfully
  • CLI runs correctly (upsun version, upsun list)
  • Test Windows build with new static binary

🤖 Generated with Claude Code

pjcdawkins and others added 4 commits December 29, 2025 17:14
Update the static-php-cli submodule from commit 4c55f4a2 to v2.7.5 (c5ae719b).

Changes made to adapt to v2.7.5:
- Replace legacy Docker build script approach with spc-alpine-docker tool.
- Add ext/craft.yml to configure PHP extensions (curl, filter, openssl, pcntl, phar, posix, zlib).
- Update Makefile to use new build command via spc-alpine-docker.

The new version uses a unified craft.yml configuration format and bin/spc tool
instead of the legacy docker/ directory with manual build scripts.

Co-Authored-By: Claude <noreply@anthropic.com>
Use static-php-cli's craft command instead of separate download and
build commands. This eliminates the duplication of the extensions list
and aligns with the configuration-driven approach in craft.yml.

Also remove invalid with-strip-php option from craft.yml (stripping is
the default behavior).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Document craft-options based on static-php-cli documentation: doctor
checks the environment, download fetches php-src and libraries, and
build compiles the static binary.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
PHP binaries are now downloaded from upsun/cli-php-builds releases
instead of being built locally. This decouples PHP builds from CLI
releases and simplifies the build process.

Changes:
- Makefile: Replace local build targets with download targets
- php_manager_windows.go: Simplify to use static binary (no ZIP/DLLs)
- CLAUDE.md: Update build documentation
- Remove ext/ submodule and build-php-brew.sh

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@pjcdawkins pjcdawkins force-pushed the externalize-php-build branch from a72b488 to bd4d659 Compare December 29, 2025 22:15
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.

2 participants