Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Allow building from existing sources on disk

オープン
#738 コメント 2 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@asgrim がすでに取り組んでいます。

2026年9月17日 から。

評価

この issue はまだ評価されていません。

説明

enhancement maintainer investigating
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:

  1. Download all required artifacts while networking is enabled.
  2. Disable networking (RUN --network=none).
  3. 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

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

php/pie のほかの issue

php/pie の issue をすべて見る

似ている issue

PHP の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。