该项目的目标是将php脚本转换为.phar
我的项目由以下部分组成: 1个index.php,它将类调用到/ lib和/ database 文件夹
目标是尽可能少地分发文件(理想情况下2:index.php和assets.phar,其中包括来自/ lib和/ database的所有文件)或甚至1(index.phar)
我尝试使用empir取得任何成功:有人曾经这样做过吗?
任何可用的教程?
答案 0 :(得分:3)
使用the Phar
class。例如,将其放在compress.php
:
$phar = new Phar('index.phar');
$phar->addFile('index.php');
$phar->buildFromDirectory('lib');
$phar->buildFromDirectory('database');
从命令行运行php compress.php
。 Voilà,你有一个Phar。
答案 1 :(得分:2)
我使用以下脚本:
<?php
$phar = new \Phar(__DIR__ . '/index.phar');
$phar->startBuffering(); // For performance reasons. Ordinarily, every time a file within a Phar archive is created or modified in any way, the entire Phar archive will be recreated with the changes.
$phar->addFile('index.php');
$phar->addFile('composer.json');
$phar->addFile('composer.lock');
$phar->buildFromDirectory(__DIR__ . '/vendor');
$phar->stopBuffering();
运行以下命令以运行上一个脚本:
$ php -dphar.readonly=0 index.php
(默认情况下,PHP中禁用了phar存档的创建。)