PHP 扩展安装器,支持 PECL 包或直接从源码树安装

安装次数: 3,241

依赖关系: 0

建议者: 0

安全: 0

星标: 1,650

关注者: 56

分支: 88

开放问题: 40

类型:应用程序

v0.7.11 2022-06-10 15:23 UTC

README

Pickle 可以轻松地将 PHP 扩展安装在所有平台上。

Code Climate Scrutinizer Code Quality Code Coverage Build Status

安装

https://github.com/FriendsOfPHP/pickle/releases/latest 获取最新的 phar

wget https://github.com/FriendsOfPHP/pickle/releases/latest/download/pickle.phar

然后运行

$ php pickle.phar

或者添加执行标志

$ chmod +x pickle.phar

然后以

$ pickle.phar info apcu

形式运行

$ mv pickle.phar pickle

您还可以将 phar 重命名为 "pickle"

这样就可以只使用 pickle 来调用。

最后,您可以将它添加到您的路径中,或将其复制到 /usr/local/bin 或您喜欢的二进制目录中。

$ php pickle.phar

在 Windows 上,使用

@echo OFF
setlocal DISABLEDELAYEDEXPANSION
c:\path\to\php.exe "c:\path\to\pickle.phar" %*

或者创建一个包含以下内容的 .bat 文件:

如果有人愿意编写安装脚本,我们将永远感激不尽 :)

简介

Pickle 是一个新的 PHP 扩展安装程序。它基于 Composer,计划让 Composer 完全支持它。有关 Composer 部分的讨论,请参阅 composer/composer#2898 (comment)

$ pickle install memcache

完全支持 Windows,可以安装二进制文件或从源码安装(正在进行中,假设您已经设置了工作构建环境)。

Pickle 的概念旨在简化开发人员和最终用户的体验。

对于最终用户,变化不大,除了 Pickle 基于现代概念,并支持多种协议(git 或 http(s) URL)。

对于开发人员,它极大地减少了发布工作。扩展元信息不再重复。配置选项、打包文件等自动从源码获取,并在发布过程中更新相应的文件。不再存在忘记在此处或那里更新版本,或忽略包含文件的风险。

从源码安装

虽然建议使用 phar,但确实可以从 git 使用它。

克隆此存储库,并使用 Composer 安装依赖项。

$ composer install

如果您想从 pickle 源码创建自己的 phar,您需要安装 Box (http://box-project.github.io/box2/)。然后克隆存储库并运行以下命令:

$ cd pickle
$ composer install --no-dev --optimize-autoloader
$ php -d phar.readonly=0 box.phar build

用法

用法非常简单。例如,要安装 memcache 扩展,请运行以下命令

$ bin/pickle install memcache

如果您需要安装特定版本的扩展,可以这样做

$ bin/pickle install redis@5.3.2

您还可以从扩展目录使用 pickle,以下命令

$ cd myext
$ bin/pickle install

使用

$ bin/pickle list

获取给定命令的扩展帮助,使用

$ bin/pickle help install

将包(基于当前 PECL 安装程序的 package.xml)转换为包,使用

$ bin/pickle convert /home/pierre/myext/

或者从扩展源目录运行。

贡献

将项目分支,创建一个功能分支,并发送给我们一个 pull request。

为确保代码库的一致性,您应确保代码遵循PSR-1PSR-2编码标准。

要检查代码风格问题,您可以使用cs-check composer命令

$ composer run cs-check

要自动修复代码风格问题,您可以使用cs-fix composer命令

$ composer run cs-fix

支持

支持可通过Github项目页面中的问题跟踪器或通过IRC,EFNet,频道#pickle获得。

运行测试

您应通过将环境变量PICKLE_PECL_TESTSERVER设置为yes(或true1)来运行测试。这表示测试将使用一个定义良好的环境执行,而不是使用实时Web服务器。

# On Unix-like systems
export PICKLE_PECL_TESTSERVER=yes
# On Windows systems
set PICKLE_PECL_TESTSERVER=yes

单元测试使用atoum编写。在运行composer install时,您将获得atoum以及其他依赖项。要运行测试,您需要运行以下命令

$ vendor/bin/atoum

# To run tests in a loop, ideal to do TDD
$ vendor/bin/atoum --loop

还有一些Behat测试。在运行composer install时,您将获得Behat以及其他依赖项。要运行测试,您需要运行以下命令

$ vendor/bin/behat

# To choose the test suite you want to run
$ vendor/bin/behat -s pickle

Behat测试也测试了phar,在运行完整测试之前,请先按照以下说明生成它(使用composer install --no-dev mode)。

Pickle使用了4个Behat测试套件

  • pickle对pickle的源代码运行测试
  • pickle_phar对您手动构建的pickle的Phar运行测试
  • pecl测试pickle的源代码与PECL扩展的转换
  • phar_pecl测试pickle的Phar与PECL扩展的转换