Allow building from existing sources on disk
メンテナーはふだん 1 日以内に返信
@asgrim がすでに取り組んでいます。
2026年9月17日 から。
評価
この issue はまだ評価されていません。
説明
Discussed in https://github.com/php/pie/discussions/694
Originally posted by glensc July 31, 2026
What are you trying to do?
I'd like to separate the download phase from the build/install phase so that extension installation can be performed without network access.
This is useful for Docker/BuildKit builds where only specific build steps are allowed network access. For example:
- Download all required artifacts while networking is enabled.
- Disable networking (
RUN --network=none). - Build and install the extension entirely from the previously downloaded artifacts.
This is similar to how package managers like apt support --download-only and --no-download.
What platform, and PIE version are you using?
pie show -v
🥧 PHP Installer for Extensions (PIE) 1.4.9, from The PHP Foundation
You are running PHP 8.3.33
Target PHP installation: 8.3.33 nts, on Linux/OSX/etc x86_64 (from /usr/bin/php8.3)
Using pie.json: /root/.config/pie/php8.3_8e7fcd745470cd568cb685b6efc26480/pie.json
Using pie.json: /root/.config/pie/php8.3_8e7fcd745470cd568cb685b6efc26480/pie.json
Tip: to include extensions in this list that PIE does not manage, use the --all flag.
Loaded PIE extensions:
(none)
Steps to reproduce the issue
Currently the only available workflow is:
pie install phalcon/cphalcon:5.17.0
This combines:
- dependency resolution
- metadata retrieval
- downloading
- building
- installation
There doesn't appear to be a way to perform the download separately and later install using only locally cached artifacts.
What do you expect to happen?
It would be great if PIE supported an offline-friendly workflow, for example:
pie download phalcon/cphalcon:5.17.0
pie install --offline phalcon/cphalcon:5.17.0
or alternatively:
pie install --download-only phalcon/cphalcon:5.17.0
pie install --no-download phalcon/cphalcon:5.17.0
The second command should fail if any required artifact is missing from the local cache, rather than attempting network access.
I don't have a strong preference for the exact command-line interface; the important capability is separating "fetch" from "build/install".
What is actually happening
pie install always performs downloading and installation as a single operation, making it difficult to build extensions in environments where network access is intentionally restricted after dependencies have been fetched.
Complete logs/output
N/A
Anything else?
This would improve support for:
- reproducible builds
- hermetic/offline builds
- Docker BuildKit (
RUN --network=none) - CI environments with restricted or controlled egress
- build systems that separate dependency fetching from compilation
I believe this would make PIE fit well into modern container build workflows while also improving build reproducibility.
- 主要言語
- PHP
- スター
- 2k
- フォーク
- 75
- 平均マージ
- 19時間
- マージ済み PR(30日)
- 16
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
php/pie のほかの issue
-
Inaccurate install instructions in the README, not possible to run `gh attestation` unauthenticatedオープンdocumentation
難易度 2/5 1時間未満 初心者へのやさしさ 66/100
メンテナーはふだん 1 日以内に返信
-
Do not duplicate an ext in pie show output for dev versions対応中かも @asgrim が 12 日前に担当しました。 オープンenhancement maintainer investigating
メンテナーはふだん 1 日以内に返信
-
Add self-update feature for executable PIEs対応中かも @asgrim が 23 日前に担当しました。 オープンenhancement maintainer investigating
メンテナーはふだん 1 日以内に返信
-
Optionally remove build-only dependencies and bloat after install再び着手できるかも @asgrim が 144 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement maintainer investigating
php/pie#618 · コメント 2 件 · リアクション 4 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Display number of downloads/stars when results are shown再び着手できるかも @asgrim が 171 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement maintainer investigating
php/pie#592 · コメント 1 件 · リアクション 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 60/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
scanaislop/aislop#476 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
components-web-app/api-components-bundle#403 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
mollie/PrestaShop#1566 ·
メンテナーはふだん 1 日以内に返信