php使用phar進行壓縮/解壓

  1. 修改配置文件:
    vim /usr/local/php/etc/php.ini
    [Phar]
    phar.readonly  =  Off
  2. 壓縮:
    a. 建立壓縮腳本:
    vim compress.php
    <?php
    $exts = array(
            '*',
        );
    $dir = __DIR__;
    $file = 'test.phar';
    $phar = new Phar(__DIR__ . '/' . $file, FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::KEY_AS_FILENAME, $file);
    $phar->startBuffering();
    foreach ($exts as $ext) {
    $phar->buildFromDirectory($dir, '/\.' . $ext . '$/');
    }
    $phar->delete('build.php');
    $phar->setStub($phar->createDefaultStub('index.php'));
    $phar->stopBuffering();
    echo "打包完成".PHP_EOL;

    b. 執行壓縮腳本:php

    php  /home/lee/php/compress.php

    php使用phar進行壓縮/解壓
    c. 查看壓縮包:vim

    ll  /home/lee/php

    php使用phar進行壓縮/解壓

  3. 解壓:
    a. 建立解壓腳本:
    vim /home/lee/php/depress.php
    <?php
    define('ROOT',__DIR__);
    $dir = ROOT.'/extract';
    if(!is_dir($dir)){
    @mkdir($dir);
    }
    $phar = new Phar(ROOT.'/test.phar');
    $phar->extractTo($dir,null,true);
    echo "解壓完成".PHP_EOL;

    b. 執行解壓腳本:ide

    php  /home/lee/php/depress.php

    php使用phar進行壓縮/解壓
    c. 查看解壓文件:ui

    ll  /home/lee/php/extract

    php使用phar進行壓縮/解壓