PHP5.3之后支持了類似Java的jar包,名為phar。用來將多個PHP文件打包為一個文件。
首先需要修改php.ini配置將phar的readonly關閉,默認是不能寫phar包的,include是默認開啟的。
phar.readonly => On
創建一個phar壓縮包
<?php $phar = new Phar('swoole.phar'); $phar->buildFromDirectory(__DIR__.'/../', '/\.php$/'); $phar->compressFiles(Phar::GZ); $phar->stopBuffering(); $phar->setStub($phar->createDefaultStub('lib_config.php'));
new Phar的參數是壓縮包的名稱。buildFromDirectory指定壓縮的目錄,第二個參數可通過正則來制定壓縮文件的擴展名。
Phar::GZ表示使用gzip來壓縮此文件。也支持bz2壓縮。參數修改為 PHAR::BZ2即可。
setSub用來設置啟動加載的文件。默認會自動加載並執行 lib_config.php。
執行此代碼后,即生成一個swoole.phar文件。
使用phar壓縮包
<?php include 'swoole.phar'; include 'swoole.phar/code/page.php';
使用phar可以很方便的打包你的代碼,集成部署到線上機器。