本教程將使用盒子的PHP應用程序包裝到PHAR中,簡化了通過作曲家的分佈和全局安裝。 我們將使用Webiny的FolderBuilder(用於交互式設計項目文件夾結構的工具)作為我們的示例。
密鑰概念:
box.json
添加到box
>使PHAR可執行。 chmod
>
box.json
> Composer'sbin
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>
結論:
>
<code class="language-bash">composer global require webiny/folderbuilder wfb ~/Code > out.json</code>經常詢問有關拳擊應用程序和phars的問題(常見問題解答):
(本節在很大程度上與輸入保持不變,因為這是一個有用且相關的FAQ部分。)
在PHP中使用PHAR的主要目的是什麼? PHARS或PHP檔案庫,將整個PHP應用程序包裝到一個文件中,以便於分發和安裝。 它們類似於Java的jar文件,通過合併所有必要的組件來簡化部署。類Phar
類促進了Phar的創建。 您可以實例化課程,使用addFile
添加文件,然後使用stopBuffering
保存。 也可以設置一個存根(在PHAR執行上執行的小腳本)。
我如何使用Box-project創建Phar文件?
box.json
我可以將PHAR與Web應用程序使用嗎?
box
是的,當通過Web服務器訪問時,PHAR作為常規PHP應用程序。 但是,請確保您的Web服務器配置為執行PHAR文件。
>使用來自受信任的來源的PHAR,並將其更新。 php's
和我如何更新Phar文件? phar.readonly
>
phar.require_hash
>創建一個帶有更新的新PHAR,然後替換舊的PHAR。 這可以自動化或手動完成。
是的,許多框架支持PHAR,允許您將應用程序(包括框架)包裝到一個文件中。
盒子項目和Box-project 2?>檢查PHP錯誤日誌,在不同系統上測試並驗證正確的PHP配置。 文件權限問題也很常見。
以上是用盒子快速輕鬆地將應用程序裝箱為PHAR的詳細內容。更多資訊請關注PHP中文網其他相關文章!