首頁 >後端開發 >php教程 >用盒子快速輕鬆地將應用程序裝箱為PHAR

用盒子快速輕鬆地將應用程序裝箱為PHAR

Jennifer Aniston
Jennifer Aniston原創
2025-02-17 11:22:09179瀏覽

本教程將使用盒子的PHP應用程序包裝到PHAR中,簡化了通過作曲家的分佈和全局安裝。 我們將使用Webiny的FolderBuilder(用於交互式設計項目文件夾結構的工具)作為我們的示例。

Boxing up your Apps as Phars Quickly and Easily with Box

密鑰概念:

    盒子簡化了PHAR創建,以便於PHP應用程序部署和作曲家集成。 >
  • a
  • >文件定義了PHAR內容(文件,入口點,輸出文件名等)。
  • 命令構建了Phar。 將box.json添加到box>使PHAR可執行。 chmod> box.json> Composer's
  • >中的字段允許PHAR分佈作為全局命令行工具(需要Packagist上傳)。
  • bin composer.json
  • 項目設置:

>我們將使用FolderBuilder的PHP腳本,該腳本生成項目結構的JSON表示。 雖然很容易直接運行,但將其包裝為PHAR可增強可用性:>

>盒子項目創建:

<code class="language-bash">composer global require webiny/folderbuilder
folderbuilder . > structure.json</code>

首先,安裝框:

接下來,克隆和結帳文件工具:

<code class="language-bash">composer global require kherge/box</code>
創建

<code class="language-bash">cd ~
git clone https://github.com/webiny/folderbuilder
cd folderbuilder
git checkout 74b234fa33bd69690a2c26df38ef7d188c4e69eb</code>

box.json指定包括文件,輸出路徑,存根,入口點,可執行權限和較小phar尺寸的壓縮機。 運行:

<code class="language-json">{
  "files": ["structure.php", "bin/stub.php"],
  "output": "bin/wfb.phar",
  "stub": true,
  "main": "bin/stub.php",
  "chmod": "0755",
  "compactors": ["Herrera\Box\Compactor\Json", "Herrera\Box\Compactor\Php"]
}</code>
然後,重命名和測試:

box.json 用作曲家的分發

<code class="language-bash">box build -v</code>
<code class="language-bash">mv bin/wfb.phar bin/wfb
bin/wfb</code>
>將項目上傳到Packagist。

測試全局安裝:

>

創建一個新的環境(例如,一個新的宅基地改進實例)並運行:> bin composer.json這確認了全球安裝的PHAR的功能。

>
<code class="language-json">"bin": ["bin/wfb"]</code>

結論:

此教程詳細介紹了使用框創建和分發PHP PHAR,從而改善了應用程序的部署和可用性。 進一步的增強可能涉及PHAR簽名和自動更新機制。 FolderBuilder歡迎捐款以擴展其功能。

>
<code class="language-bash">composer global require webiny/folderbuilder
wfb ~/Code > out.json</code>
經常詢問有關拳擊應用程序和phars的問題(常見問題解答):

(本節在很大程度上與輸入保持不變,因為這是一個有用且相關的FAQ部分。)

在PHP中使用PHAR的主要目的是什麼? PHARS或PHP檔案庫,將整個PHP應用程序包裝到一個文件中,以便於分發和安裝。 它們類似於Java的jar文件,通過合併所有必要的組件來簡化部署。

我如何創建一個Phar文件?

> PHP中的

Phar類促進了Phar的創建。 您可以實例化課程,使用addFile添加文件,然後使用stopBuffering保存。 也可以設置一個存根(在PHAR執行上執行的小腳本)。

>

使用Box-Project等拳擊應用程序有什麼好處?

>拳擊應用程序自動化PHAR創建,簡化了分發過程。 諸如GIT和COMPOSER集成之類的功能進一步提高了工作流程效率。

我如何使用Box-project創建Phar文件?

>

>安裝Box-project,創建一個定義包裝說明的文件,然後使用命令生成PHAR。 可用於壓縮和存根配置的選項。

box.json我可以將PHAR與Web應用程序使用嗎? box是的,當通過Web服務器訪問時,PHAR作為常規PHP應用程序。 但是,請確保您的Web服務器配置為執行PHAR文件。

是否有使用PHAR的安全問題?

>使用來自受信任的來源的PHAR,並將其更新。 php's

設置增強了安全性。

我如何更新Phar文件? phar.readonly> phar.require_hash>創建一個帶有更新的新PHAR,然後替換舊的PHAR。 這可以自動化或手動完成。

>

我可以將PHAR與PHP框架使用嗎?

是的,許多框架支持PHAR,允許您將應用程序(包括框架)包裝到一個文件中。

盒子項目和Box-project 2? 我該如何解決PHAR的問題? >

>檢查PHP錯誤日誌,在不同系統上測試並驗證正確的PHP配置。 文件權限問題也很常見。

以上是用盒子快速輕鬆地將應用程序裝箱為PHAR的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn