PHP使用phar打包项目

139 阅读1分钟

因为项目的composer环境被破坏,无法直接composer require alibabacloud/dingtalk 安装钉钉SDK 故采用打phar包的方式调用

目录结构 其中TopSdk.php为入口文件 dingtalk

配置修改

  1. 需要修改php.ini的配置将phar只读属性关闭,默认为开启状态.
  2. 根据 php -i | grep php.ini 找到php.ini配置文件位置
  3. phar.readonly => On 修改为 phar.readonly => Off

代码实现

# 例如: Dingtalk-sdk 
## 要生成的包名称
$phar = new Phar('Dingtalk.phar');
## 指定目录构建
$phar->buildFromDirectory('./dingtalk-sdk-php');
## 压缩文件的方式 Phar::GZ表示用gzip来压缩此文件
$phar->compressFiles(Phar::GZ);
## 停止写入并将更改保存到磁盘
$phar->stopBuffering();
## 设置启动加载的文件.默认会自动加载并执行TopSdk.php
$phar->setStub($phar->createDefaultStub('TopSdk.php'));