friendsofphp / pickle
PHP 扩展安装器,支持 PECL 包或直接从源码树安装
Requires
- php: >=7.2
- ext-dom: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- ext-simplexml: *
- ext-zlib: *
- composer/composer: <2.0
- justinrainbow/json-schema: ^3.0 || ^4.0 || ^5.0
- mlocati/composer-patcher: ^1.2.2
- padraic/phar-updater: ~1.0@dev
- symfony/console: ^5.0
Requires (Dev)
- atoum/atoum: ~3.4
- atoum/praspel-extension: ~0.17
- atoum/visibility-extension: ~1.3
- behat/behat: ~3.6
- friendsofphp/php-cs-fixer: ^2.18.1
- symfony/process: ^5.0
This package is auto-updated.
Last update: 2024-08-29 22:47:05 UTC
README
Pickle 可以轻松地将 PHP 扩展安装在所有平台上。
安装
从 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-1和PSR-2编码标准。
要检查代码风格问题,您可以使用cs-check
composer命令
$ composer run cs-check
要自动修复代码风格问题,您可以使用cs-fix
composer命令
$ composer run cs-fix
支持
支持可通过Github项目页面中的问题跟踪器或通过IRC,EFNet,频道#pickle
获得。
运行测试
您应通过将环境变量PICKLE_PECL_TESTSERVER
设置为yes
(或true
或1
)来运行测试。这表示测试将使用一个定义良好的环境执行,而不是使用实时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扩展的转换