Phar 打包器

优质
小牛编辑
134浏览
2023-12-01

安装

composer require hyperf/phar

使用

  • 默认打包
php bin/hyperf.php phar:build
  • 指定包名
php bin/hyperf.php phar:build --name=your_project.phar
  • 指定包版本
php bin/hyperf.php phar:build --phar-version=1.0.1
  • 指定启动文件
php bin/hyperf.php phar:build --bin=bin/hyperf.php
  • 指定打包目录
php bin/hyperf.php phar:build --path=BASE_PATH
  • 映射外部文件

需要 hyperf/phar 版本 >= v2.1.7

下述命令,可以允许 phar 包读取同目录的 .env 文件,方便 phar 分发到各个环境当中

php bin/hyperf.php phar:build -M .env

运行

php your_project.phar start

注意事项

打包后是以 phar 包的形式运行,不同与源代码模式运行,phar 包中的 runtime 目录是不可写的, 所以我们需要重写部分可写的目录位置。

根据实际情况酌情修改

  • pid_file

修改 server.php 配置。

<?php

return [
    'settings' => [
        'pid_file' => '/tmp/runtime/hyperf.pid',
    ],
];
  • logger

修改 logger.php 配置

<?php
return [
    'default' => [
        'handler' => [
            'class' => Monolog\Handler\StreamHandler::class,
            'constructor' => [
                'stream' => '/tmp/runtime/logs/hyperf.log',
                'level' => Monolog\Logger::INFO,
            ],
        ],
    ],
];
  • scan_cacheable

Phar 打包器会将 config.php 配置中的 scan_cacheable 主动设置为 true

当然,主动修改此配置为 true,也是可以的。