Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Php Bin Laravel Package

nativephp/php-bin

Precompiled, portable PHP binaries that let NativePHP apps run PHP without a system install. Ships static builds for multiple platforms, simplifying packaging and distribution of desktop PHP applications.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. Unchanged. nativephp/php-bin remains a build-time artifact distribution — precompiled PHP runtimes consumed by NativePHP's packaging pipeline — and is relevant only to a Laravel/PHP application shipped as a desktop binary. What 1.2.0 clarifies is the shape of the matrix: the project now publishes per-version builds for PHP 8.3, 8.4, and 8.5 across linux arm64/x64, mac arm64/x64, and win x64 — roughly fifteen artifact targets per release, all rebuilt together. That confirms the package's real function: turning "install PHP first" into a versioned, matrix-pinned dependency. It does nothing for a server-rendered SaaS, queue workers, or CLI tooling, and should stay out of scope there.

Integration feasibility. Consumption remains cheap — a Composer pin, no application code. Two things in 1.2.0 change the integration checklist rather than the effort:

  • Extension set changed. sodium was added to the php-extensions list. Additive and low-risk, but it alters the runtime contract; anyone who validated against 1.1.1 has a slightly different interpreter now.
  • Artifact set changed. "Remove unused mac binaries" suggests previously published mac artifacts are gone. If our build scripts reference a specific artifact path or variant, that is a silent break at the packaging step, not at runtime.

Effort is still dominated by what the package does not do: signing, notarization, SmartScreen reputation, and CI runners per target.

Technical risk. The risk profile improves at the margins but the headline concerns stand.

  • Supply chain — narrowed, not closed. Release notes now expose real provenance signals: PR-level history in NativePHP/php-bin, and a static-php-cli (SPC) bump to 2.8.2, which tells us the binaries are produced from a known open-source build toolchain rather than an opaque pipeline. That is meaningful progress on the "repository: unknown" concern. It is not the same as checksummed, signed, or reproducible-verified artifacts, and nothing in 1.2.0 claims those.
  • Patch latency — positive signal. The changelog is dominated by github-actions[bot] commits rebuilding each PHP minor on each platform, plus repeated CA bundle refreshes. That is exactly the automation we asked for in question 2: an existing rebuild pipeline that pushes new binaries and keeps the TLS trust store current. The residual risk is our side — how fast we re-pin, re-sign, and redistribute to installed desktops.
  • Platform edge cases — unchanged. Gatekeeper/notarization, SmartScreen, VC++ redistributables, glibc floors. Note that CA refreshes, welcome as they are, mean the trust store's freshness is coupled to this package's release cadence; a distrusted root CA becomes a "ship a new binary" event.
  • New: PHP 8.5 surface area. Supporting a brand-new PHP minor extends the matrix but also moves ahead of what Laravel, NativePHP core, and third-party packages have validated. Early adoption here is a compatibility bet, not a feature.

Key questions.

  1. Are 1.2.0 artifacts checksummed and/or signed, and is the SPC 2.8.2 build reproducible from public CI? (Provenance visibility improved; artifact verification still unconfirmed.)
  2. Which PHP minors are actually supported? 1.2.0 rebuilds 8.3/8.4/8.5 — is 8.2 dropped or merely absent from this changelog, and what is the deprecation notice period?
  3. Is sodium enabled in all platform builds or a subset, and does it change installer size or any runtime behavior our app depends on?
  4. Which mac binaries were removed, and do our pinned build scripts reference any of them?
  5. Has NativePHP core been validated against PHP 8.5, or is 8.5 published ahead of core support? What is the recommended production minor today?
  6. What is the CA bundle refresh cadence, and what is the escalation path if a root CA is distrusted between releases?
  7. What is the supported OS floor per platform (macOS version, Windows version, glibc), and is Windows arm64 on the roadmap?
  8. Is the version pinned in lockstep with NativePHP core, and what happens on skew between a 1.2.0 runtime and an older core?
  9. What is the licensing position on redistributing the PHP runtime in a commercial installer?

Integration Approach

Stack fit. Unchanged: adopt only for a desktop distribution of an existing Laravel codebase — offline field tool, kiosk app, local-first admin client. If the deliverable is web or mobile, rule it out explicitly.

Migration path. Same shape as before, with two added gates. Pin the runtime at the PHP minor the app already targets — 8.3 or 8.4 for production, treating 8.5 as a spike target until core compatibility is confirmed. Then: diff the artifact manifest between 1.1.1 and 1.2.0 before changing the pin; wire the NativePHP build into CI for all three OS targets; produce unsigned artifacts first and verify they launch; confirm php -m inside the built app lists sodium alongside the extensions we require (pdo_sqlite, mbstring, openssl, curl, zip, intl, gd); then layer signing/notarization; then replace the old channel.

Compatibility. Treat this as a five-part tuple and pin all five together: PHP minor ↔ Laravel version ↔ NativePHP core ↔ extension set ↔ SPC build version. 1.2.0 changes three of the five, which is precisely why the pin should move deliberately rather than float. Verify SQLite as the storage path and re-verify any package that shells out to a PHP extension. Architecture support is unchanged for supported targets (Apple Silicon vs Intel remains the most common surprise), but re-check that the removed mac artifacts were genuinely unused by us.

Sequencing. (1) Manifest diff 1.1.1 → 1.2.0 and confirm no referenced artifact disappeared. (2) Spike on one OS at the current production minor to prove the bundle still launches with the new extension set. (3) Separate spike for PHP 8.5, timeboxed and gated on NativePHP core support. (4) Full CI matrix, artifacts published and checksummed on our side. (5) Signing/notarization proven end-to-end on a clean machine per OS. (6) Size, cold-start, and memory benchmarks against 1.1.1. (7) Internal pilot, then promote and write the PHP patch upgrade runbook before first public ship.

Operational Impact

Maintenance. The upstream cadence is automated and therefore faster than before — bot-driven per-version rebuilds plus periodic CA refreshes. Our cost stays low but becomes more regularly scheduled: track advisories, bump the pin, rebuild, re-sign, re-release. Keep Dependabot/Renovate on the pin with a required green build matrix, and add a standing quarterly CA-refresh bump even when no CVE lands, because TLS trust now has its own expiry clock. One recurring owner remains sufficient.

Support. Same ticket class, unchanged by this release: "app won't open on macOS," "Defender flagged the installer," "works on my machine but not theirs." Keep runbooks for Gatekeeper quarantine, antivirus false positives, missing Windows runtimes, and glibc mismatch. Add one new line for the 8.5 era: if we ship 8.5 ahead of ecosystem validation, expect bug reports that are framework/package incompatibilities misattributed to the desktop shell.

Scaling. No server-scaling dimension. Scaling here is artifact count and installer size: three PHP minors × five platform targets means more CI minutes and a larger release surface than 1.1.1, partially offset if the removed mac binaries were large. Adding sodium marginally increases runtime size. Download-and-install is still the first user experience, so CDN and update-channel decisions remain early commitments.

Failure modes. Corruption or a missing binary still fails the build loudly (good). Removed mac artifacts fail the packaging step loudly if we reference them (acceptable, but only if caught in the manifest diff). Unsigned binaries still fail silently at launch on macOS (bad). Version skew between runtime and NativePHP core still manifests as application-looking crashes. The most serious mode is unchanged — an unpatched PHP CVE or a stale CA bundle shipped to installed desktops with no forced-update path — and 1.2.0 makes the upstream half of that faster while leaving the downstream half (our auto-update channel) entirely ours to build. Design it in from day one.

Ramp-up. For an application developer: hours. For release engineering: days to weeks, dominated by signing, notarization, and the CI matrix. For the organization, the ramp-up is still accepting a prebuilt binary dependency into the customer-facing supply chain — but the calculus shifts slightly in the package's favor: visible PR history, a named upstream build toolchain at SPC 2.8.2, and an automated rebuild pipeline are real evidence of maintainability. That is enough to keep the spike and drop the "exit plan" from blocking to scheduled. It is not enough to skip artifact verification. Adopt behind a spike, pin to 8.3/8.4, verify checksums on our side, and document the runtime-swap exit before this reaches a paying customer.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource