Skip to content

Latest commit

 

History

History
2144 lines (1887 loc) · 117 KB

README.md

File metadata and controls

2144 lines (1887 loc) · 117 KB

PECL Info

An opinionated cache of data from the PHP Extension Community Library

recent releases

pecl info

Questions & answers are below the listings. Packages marked with 8️⃣ have a mention of PHP 8 somewhere in their release notes.

Relevant Extensions (118)

Authentication (2)

krb5  8️⃣

Features:

+ An interface for maintaining credential caches (KRB5CCache),
   that can be used for authenticating against a kerberos5 realm
+ Bindings for nearly the complete GSSAPI (RFC2744)
+ The administrative interface (KADM5)
+ Support for HTTP Negotiate authentication via GSSAPI

Documentation:
+ see docs/ for the API documentation
+ there are several pieces of example code in the examples/ directory
+ see below for install instructions


PAM  8️⃣

PAM integration

This extension provides PAM (Pluggable Authentication Modules) integration. PAM is a
system of libraries that handle the authentication tasks of applications and services. The
library provides a stable API for applications to defer to for authentication tasks.



Benchmarking (4)

datadog_trace  8️⃣

APM and distributed tracing for PHP

The Datadog PHP Tracer brings APM and distributed tracing to PHP.


excimer  8️⃣

Interrupting timer and low-overhead sampling profiler

Calls a user-defined callback when a one-shot or periodic timer expires. Also a sampling
profiler backend, which aggregates backtraces collected by a periodic timer.


memprof  8️⃣

Memory profiler

Memprof is a fast and accurate memory profiler that can be used to find the cause of
memory leaks in PHP applications.


scoutapm  8️⃣

Native Extension Component for ScoutAPM's PHP Agent

ScoutAPM's extension for PHP provides additional capabilities to application monitoring
over just using the base PHP userland library.



Caching (5)

APCu  8️⃣

APCu - APC User Cache

APC User Caching


immutable_cache  8️⃣

immutable_cache - an shared memory cache of immutable values

immutable_cache - an shared memory cache of immutable values. Based on APCu.


memcache  8️⃣

memcached extension

Memcached is a caching daemon designed especially for 
    dynamic web applications to decrease database load by 
    storing objects in memory.
    This extension allows you to work with memcached through
    handy OO and procedural interfaces.
    The extension allows use to store sessions in memcached via memcache.


memcached  8️⃣

PHP extension for interfacing with memcached via libmemcached library

This extension uses libmemcached library to provide API for communicating with memcached
servers.


yac  8️⃣

lockless user data cache

yac is a fast, lock-free, shared memory user data cache for PHP. it can be used to replace
APC or local memcached.



Configuration (2)

yaconf  8️⃣

PHP Persistent Configurations Container

Yaconf is a configurations container, it parses ini files, and store the result in PHP
when PHP is started


zookeeper  8️⃣

PHP extension for interfacing with Apache ZooKeeper

This extension provides API for communicating with ZooKeeper service.



Database (14)

couchbase  8️⃣

Couchbase Server PHP extension

The PHP client library provides fast access to documents stored in a Couchbase Server.


ibm_db2  8️⃣

Extension for IBM Db2 (LUW/i/z) and other compatible databases

ibm_db2 provides access to DB2 and compatible databases on PHP.
  It uses a procedural interface. (PDO users should use PDO_IBM instead.)
  
  The following software is supported without any additional licenses:
  - IBM Db2 (Linux/Unix/Windows)
  - IBM Db2 for i (running on IBM i)
  - Apache Derby
  
  The following software may require additional licenses on the database:
  - IBM Db2 Connect for i (for using Db2 for i from LUW)
  - IBM Db2 Connect for z (for using Db2 for z from LUW)
  
  Note that for IBM i, IBM and Seiden Group recommend new applications use ODBC instead.


mongodb  8️⃣

MongoDB driver for PHP

The purpose of this driver is to provide exceptionally thin glue between MongoDB
and PHP, implementing only fundamental and performance-critical components
necessary to build a fully-functional MongoDB driver.


mysql_xdevapi

MySQL X DevAPI for PHP

The X DevAPI is the new common API for MySQL Connectors built on the X Protocol introduced in MySQL 5.7.12.

The X DevAPI wraps powerful concepts in a simple API.
* A new high-level session concept enables you to write code that can transparently scale from single MySQL Server to a multiple server environment.
* Read operations are simple and easy to understand.

The X DevAPI introduces a new, modern and easy-to-learn way to work with your data.
* Documents are stored in Collections and have their dedicated CRUD operation set.
* Work with your existing domain objects or generate code based on structure definitions for strictly typed languages.
* Focus is put on working with data via CRUD operations. See Section 3.1, “CRUD Operations Overview”.
* Modern practices and syntax styles are used to get away from traditional SQL-String-Building. See Chapter 10, Building Expressions.


mysqlnd_krb

Kerberos authentication plugin for mysqlnd

The mysqlnd_krb extension is an authentication 
plugin for mysqlnd that enables connections to MySQL accounts
that use Kerberos authentication.

If a MySQL account is configured with Kerberos authentication
(using `IDENTIFIED WITH kerberos_authentication` clause
of `CREATE USER`, see [1]) then normally `mysqlnd` will not
be able to connect to such an account. With this plugin such
connections are possible provided that user has appropriate
tickets loaded into the Kerberos ticket cache (in this case
no password is needed in the connection data).

If a ticket for the MySQL service is not present in the cache
the plugin can fetch the required ticket from Kerberos provided
that user principal's password is given in the connection data.

[1] https://dev.mysql.com/doc/refman/8.0/en/kerberos-pluggable-authentication.html


oci8  8️⃣

Extension for Oracle Database

The OCI8 extension lets you access Oracle Database.

Use 'pecl install oci8' to install for PHP 8.2.

Use 'pecl install oci8-3.2.1' to install for PHP 8.1.

Use 'pecl install oci8-3.0.1' to install for PHP 8.0.

Use 'pecl install oci8-2.2.0' to install for PHP 7.

The current OCI8 extension can be linked with Oracle Client libraries from Oracle Database 11.2 or later.  (OCI8 3.0 and earlier can be linked with 10g or later).  The Oracle Client libraries are in the free Oracle Instant Client from https://www.oracle.com/database/technologies/instant-client.html.  They are also included in your database installation.

Oracle's standard cross-version connectivity applies.  For example, PHP OCI8 linked with Oracle Client 19c can connect to Oracle Database 11.2 onward.  See Oracle's note "Oracle Client / Server Interoperability Support" (ID 207303.1) for details.


PDO_IBM  8️⃣

PDO driver for IBM databases

This extension provides an IBM database driver for PDO. This driver supports IBM DB2
Universal Database, IBM Cloudscape, Apache Derby databases and IDS (Informix Data Server).


PDO_INFORMIX  8️⃣

PDO driver for IBM Informix INFORMIX databases

This extension provides an IBM Informix Dynamic Server driver for PDO. To build and run
PDO_INFORMIX, you must install the Informix Client Software Development Kit (CSDK)
from http://ibm.com/informix/downloads.html.


pdo_sqlsrv  8️⃣

Microsoft Drivers for PHP for SQL Server (PDO_SQLSRV)

The Microsoft Drivers for PHP for SQL Server are PHP extensions that allow for the reading and writing of SQL Server data from within PHP scripts. The SQLSRV extension provides a procedural interface while the PDO_SQLSRV extension implements PDO for accessing data in all editions of SQL Server 2012 and later (including Azure SQL DB). These drivers rely on the Microsoft ODBC Driver for SQL Server to handle the low-level communication with SQL Server.
*This package contains only the PDO_SQLSRV driver.*


PDO_TAOS

TDengine driver for PDO

This extension provides a TDengine database driver for PDO.
        TDengine is a open-sourced time-series big data platform, designed and optimized for IoT, faster on insert/query speeds.
        This extension can be used to develop IoT projects with Swoole extension.
        This extension is compatible with PHP versions since 7.0.


pq  8️⃣

PostgreSQL client library (libpq) binding

Documents: https://mdref.m6w6.name/pq

 Highlights:
 * Nearly complete support for asynchronous usage:
   https://mdref.m6w6.name/pq/Connection/%3A%20Asynchronous%20Usage
 * Extended type support by pg_type:
   https://mdref.m6w6.name/pq/Types/%3A%20Overview
 * Fetching simple multi-dimensional array maps:
   https://mdref.m6w6.name/pq/Result/map
 * Working Gateway implementation:
   https://mdref.m6w6.name/pq-gateway


redis  8️⃣

PHP extension for interfacing with Redis

This extension provides an API for communicating with Redis servers.


SeasClick

An Yandex ClickHouse client driven extension for PHP.

PHP client for Yandex ClickHouse?Based on ClickHouse C++ client.


sqlsrv  8️⃣

Microsoft Drivers for PHP for SQL Server (SQLSRV)

The Microsoft Drivers for PHP for SQL Server are PHP extensions that allow for the reading and writing of SQL Server data from within PHP scripts. The SQLSRV extension provides a procedural interface while the PDO_SQLSRV extension implements PDO for accessing data in all editions of SQL Server 2012 and later (including Azure SQL DB). These drivers rely on the Microsoft ODBC Driver for SQL Server to handle the low-level communication with SQL Server.
*This package contains only the SQLSRV driver.*



Date and Time (1)

timezonedb

Timezone Database to be used with PHP's date and time functions

This extension is a drop-in replacement for the builtin timezone database that
comes with PHP. You should only install this extension in case you need to get
a later version of the timezone database than the one that ships with PHP.

The data that this extension uses comes from the "Olson" database, which is
located at http://www.iana.org/time-zones.



Encryption (4)

gnupg  8️⃣

wrapper around the gpgme library

This extension provides methods to interact with gnupg


PKCS11  8️⃣

PHP Bindings for PKCS11 modules

This extension provides an Object Oriented API for PKCS11 C_* functions to interact with a
Hardware Security Module.


scrypt  8️⃣

Scrypt hashing function

A PHP wrapper to Colin Percival's scrypt implementation.


xpass

Extended password extension

This extension provides password hashing algorithms used by Linux
distributions, using extended crypt library (libxcrypt):

* sha512 provided for legacy as used on some old distributions
* yescrypt used on modern distributions



Event (5)

eio  8️⃣

Provides interface to the libeio library

This extension provides interface to the libeio library written by Marc Lehmann
    <libeio at schmorp dot de>(see http://software.schmorp.de/pkg/libeio.html).

    Libeio is a an asynchronous I/O library. Features basically include
    asynchronous versions of POSIX API(read, write, open, close, stat, unlink,
    fdatasync, mknod, readdir etc.); sendfile (native on Solaris, Linux, HP-UX,
    FreeBSD); readahead. libeio itself emulates the system calls, if they are not
    available on specific(UNIX-like) platform.

    Currently this extension supports GNU/Linux and BSD platforms only. But you can
    try it on any UNIX OS.


ev  8️⃣

Provides interface to libev library

ev provides interface to libev library - high performance
  full-featured event loop written in C.


openswoole  8️⃣

High Performance Programmatic Server for PHP with Async IO, Coroutines and Fibers

Build high-performance, scalable, concurrent TCP, UDP, Unix Socket, HTTP, WebSocket
services with PHP and easy to use coroutine, fibers API.


swoole  8️⃣

Event-driven asynchronous and concurrent networking engine with high performance for PHP.

Event-driven asynchronous and concurrent networking engine with high performance for PHP.
        - event-driven
        - coroutine
        - asynchronous non-blocking
        - multi-thread reactor
        - multi-process worker
        - multi-protocol
        - millisecond timer
        - built-in tcp/http/websocket/http2 server
        - coroutine tcp/http/websocket client
        - coroutine read/write file system
        - coroutine dns lookup
        - support IPv4/IPv6/UnixSocket/TCP/UDP
        - support SSL/TLS encrypted transmission


uv

libuv wrapper

uv provides access to underlying libuv functions



File Formats (9)

brotli

Brotli extension

PHP extension for compression and decompression with Brotli library.


CSV  8️⃣

CSV PHP extension

A new and improved CSV file PHP extension which follows RFC 4180 instead of using a custom escape mechanism.

        Supports multi-bytes delimiters, enclosures, and providing a custom EOL sequence.


lzf

LZF compression.

This package handles LZF de/compression.


maxminddb  8️⃣

Reader for the MaxMind DB file format

This is the PHP extension for reading MaxMind DB files. MaxMind DB is a binary file format
that stores data indexed by IP address subnets (IPv4 or IPv6).


rpminfo  8️⃣

RPM information

Retrieve RPM information using librpm, from local RPM file or from installed packages database.

Documentation: https://www.php.net/rpminfo


xlswriter  8️⃣

Efficient and fast xlsx file extension.

xlswriter is a PHP C Extension that can be used to write text, numbers, formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.

  Writer

  - 100% compatible Excel XLSX files.
  - Full Excel formatting.
  - Merged cells.
  - Defined names.
  - Autofilters.
  - Charts.
  - Data validation and drop down lists.
  - Worksheet PNG/JPEG images.
  - Memory optimization mode for writing large files.
  - Works on Linux, FreeBSD, OpenBSD, OS X, Windows.
  - Compiles for 32 and 64 bit.
  - FreeBSD License.
  - The only dependency is on zlib.

  Reader

  - Full read data
  - Cursor read data
  - Read by data type
  - Xlsx to csv


yaml  8️⃣

YAML-1.1 parser and emitter

Support for YAML 1.1 (YAML Ain't Markup Language) serialization using the
  LibYAML library.


zip  8️⃣

A zip management extension

Zip is an extension to create, modify and read zip files.


zstd  8️⃣

Zstandard extension

PHP extension for compression and decompression with Zstandard library.



File System (1)

smbclient  8️⃣

A PHP wrapper for libsmbclient

smbclient is a PHP extension that uses Samba's libsmbclient library to provide
  Samba related functions and 'smb' streams to PHP programs.



HTTP (1)

pecl_http  8️⃣

Extended HTTP Support

This HTTP extension aims to provide a convenient and powerful
set of functionality for one of PHPs major applications.

It eases handling of HTTP urls, headers and messages, provides
means for negotiation of a client's preferred content type,
language and charset, as well as a convenient way to send any
arbitrary data with caching and resuming capabilities.

It provides powerful request functionality with support for
parallel requests.

Documentation:
https://mdref.m6w6.name/http



Images (1)

imagick  8️⃣

Provides a wrapper to the ImageMagick library.

Imagick is a native php extension to create and modify images using the ImageMagick API.
This extension requires ImageMagick version 6.5.3-10+ and PHP 5.4.0+.



Internationalization (1)

ecma_intl  8️⃣

ecma_intl is an i18n and l10n extension for PHP

ecma_intl is a PHP implementation of the ECMA-402 11th Edition
Internationalization API Specification.



Languages (4)

handlebars  8️⃣

Handlebars templating language

This extension embeds a Handlebars interpreter into PHP, allowing the execution of
Handlebars templates.


LuaSandbox  8️⃣

Lua interpreter with limits and safe environment

LuaSandbox is an extension for running untrusted Lua code within a PHP web request. Code
is run in a stripped-down, safe environment. Time and memory limits can be set.


mustache  8️⃣

Mustache templating language

This extension embeds a Mustache interpreter into PHP, allowing the execution of Mustache
templates.


phpy

A library for inter-calling Python and PHP

This extension allows PHP to directly use Python modules and functions without RPC.
        Including Pytorch, transformer, numpy, tensorflow and other Python AI libraries, which can be used like calling
        PHP functions.



Mail (2)

imap  8️⃣

An extension to operate with the IMAP protocol, as well as the NNTP, POP3, and local mailbox access methods.

An extension to operate with the IMAP protocol, as well as the
 NNTP, POP3, and local mailbox access methods.


mailparse  8️⃣

Email message manipulation

Mailparse is an extension for parsing and working with email messages.
It can deal with rfc822 and rfc2045 (MIME) compliant messages.



Math (3)

geospatial  8️⃣

PHP Extension to handle common geospatial functions

The extension currently has implementations of the Haversine and
 Vincenty's formulas for calculating distances, an initial bearing calculation
 function, a Helmert transformation function to transfer between different
 supported datums, conversions between polar and Cartesian coordinates,
 conversions between Degree/Minute/Seconds and decimal degrees, a method to
 simplify linear geometries, as well as a method to calculate intermediate
 points on a LineString.


hdr_histogram

A PHP extension wrapper for the C hdrhistogram API

HdrHistogram: A High Dynamic Range Histogram. A Histogram that supports recording and
analyzing sampled data value counts across a configurable integer value range with
configurable value precision within the range. Value precision is expressed as the number
of significant digits in the value recording, and provides control over value quantization
behavior across the value range and the subsequent value resolution at any given level.


Tensor  8️⃣

A library and extension that provides objects for scientific computing in PHP.

A library and extension that provides objects for scientific computing in PHP.



Multimedia (4)

sdl  8️⃣

SDL for PHP

Bindings of the SDL2 (Simple DirectMedia Layer) library for PHP.


sdl_image

Binding of SDL_image for PHP

SDL_image for PHP allows to load images (PNG, JPG, BMP, TGA, TIF, etc.) and create
SDL_Texture or SDL_Surface. It requires SDL PHP Extension.


sdl_mixer

Binding of SDL_mixer for PHP

SDL_mixer extension for PHP provides the binding of functions for audio loading, playing
and mixing.


sdl_ttf

SDL_ttf bindings for the PHP language

SDL_ttf bindings for the PHP language



Networking (10)

amqp  8️⃣

Communicate with any AMQP compliant server

This extension can communicate with any AMQP spec 0-9-1 compatible server, such as
RabbitMQ, OpenAMQP and Qpid, giving you the ability to create and delete exchanges and
queues, as well as publish to any exchange and consume from any queue.


event  8️⃣

Provides interface to libevent library

This is an extension to efficiently schedule I/O, time and signal based
  events using the best I/O notification mechanism available for specific platform.
  This is a port of libevent to the PHP infrastructure.

  Version 1.0.0 introduces:
  * new OO API breaking backwards compatibility
  * support of libevent 2+ including HTTP, DNS, OpenSSL and the event listener.

  Note, event-1.0.0 and greater is not compatible with previous versions.


gearman  8️⃣

PHP wrapper to libgearman

This extension uses libgearman library to provide API for communicating with gearmand, and
writing clients and workers.


gRPC  8️⃣

A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.

Remote Procedure Calls (RPCs) provide a useful abstraction for building distributed
applications and services. The libraries in this repository provide a concrete
implementation of the gRPC protocol, layered over HTTP/2. These libraries enable
communication between clients and servers using any combination of the supported
languages.


ip2location

Get geo location information of an IP address

This PECL extension enables you to get the geo location information of an IP address, such
as country, region or state, city, latitude and longitude, US ZIP code, time zone,
Internet Service Provider (ISP) or company name, domain name, net speed, area code,
weather station code, weather station name, mobile country code (MCC), mobile network code
(MNC) and carrier brand, elevation, and usage type.


ip2proxy

Get proxy information of an IP address

This PECL extension allows you to detect proxy servers with country, region, city, ISP,
domain, usage type, ASN, security threat and proxy type information using IP2Proxy binary
database.


rdkafka  8️⃣

Kafka client based on librdkafka

PHP-rdkafka is a stable Kafka client for PHP based on librdkafka


ssh2

Bindings for the libssh2 library

Provides bindings to the functions of libssh2 which implements the SSH2 protocol.
        libssh2 is available from http://libssh2.org/


uuid  8️⃣

UUID extension

A wrapper around libuuid from the ext2utils project.


yaz  8️⃣

Z39.50/SRU client

This extension implements a Z39.50/SRU client for PHP using the YAZ toolkit and the ZOOM framework.

Find more information at:
  http://www.indexdata.com/phpyaz
  http://www.indexdata.com/yaz



Numbers (1)

Bitset  8️⃣

BITSET extension

The BitSet extension assists by providing a mechanism to manage sets of bits.

This provides a similar API (object-based) to java.util.BitSet with some PHP-specific flavoring.



PHP (11)

ast  8️⃣

Extension exposing PHP 7 abstract syntax tree

php-ast exports the AST internally used by PHP 7.
     php-ast is significantly faster than PHP-Parser, because the AST construction is implemented in C.
     However, php-ast may only parse code that is syntactically valid on the version of PHP it runs on.


igbinary  8️⃣

igbinary extension

Igbinary is a drop in replacement for the standard php serializer. Instead of
the time and space consuming textual representation used by PHP's serialize(), igbinary stores php data
structures in a compact binary form. Savings are significant when using
memcached or similar memory based storages for serialized data.


opentelemetry  8️⃣

OpenTelemetry auto-instrumentation support extension

https://github.com/open-telemetry/opentelemetry-php-instrumentation


parallel  8️⃣

Parallel concurrency API

A succinct parallel concurrency API for PHP 7.


pcov  8️⃣

Code coverage driver

A self contained php-code-coverage compatible driver for PHP.


psr  8️⃣

PSR interfaces

This extension provides the accepted PSR interfaces, so they can be used in an extension.

  See http://www.php-fig.org/psr/


runkit7  8️⃣

Runkit7 : For all those things you.... probably shouldn't have been doing anyway.... but surely do!

Replace, rename, and remove user defined functions, methods, and constants.
Define customized superglobal variables for general purpose use.


skywalking

The PHP instrument agent for Apache SkyWalking.

The package is the PHP instrumentation agent, which is compatible with Apache SkyWalking
backend and others compatible agents/SDKs.


var_representation  8️⃣

A compact, more readable alternative to var_export.

var_representation is a compact alternative to var_export that properly escapes control
characters


vld  8️⃣

Provides functionality to dump the internal representation of PHP scripts

The Vulcan Logic Disassembler hooks into the Zend Engine and
dumps all the opcodes (execution units) of a script.


xdebug  8️⃣

Xdebug is a debugging and productivity extension for PHP

Xdebug and provides a range of features to improve the PHP development
experience.

Step Debugging
    A way to step through your code in your IDE or editor while the script is
    executing.

Improvements to PHP's error reporting
    An improved var_dump() function, stack traces for Notices, Warnings, Errors
    and Exceptions to highlight the code path to the error

Tracing
    Writes every function call, with arguments and invocation location to disk.
    Optionally also includes every variable assignment and return value for
    each function.

Profiling
    Allows you, with the help of visualisation tools, to analyse the
    performance of your PHP application and find bottlenecks.

Code Coverage Analysis
    To show which parts of your code base are executed when running unit tests
    with PHP Unit.



Search Engine (1)

solr  8️⃣

The Apache Solr PHP extension is an extremely fast, light-weight, feature-rich library that allows PHP applications to communicate easily and efficiently with Apache Solr server instances using an object-oriented API.

It effectively simplifies the process of interacting with Apache Solr using PHP.

The extension has features such as built-in, serializable query string builder objects which effectively simplifies the manipulation of name-value pair request parameters across repeated requests.
The response from the Solr server is also automatically parsed into native php objects whose properties can be accessed as array keys or object properties without any additional configuration on the client-side.

Its advanced HTTP client reuses the same connection across multiple requests and provides built-in support for connecting to Solr servers secured behind HTTP Authentication or HTTP proxy servers. It is also able to connect to SSL-enabled containers.

Please consult the documentation for more details on features. Included in the source code are phpdoc stubs that enable autocomplete of Solr classes and methods in IDE during development in userland.

Please consider staring the package on github, and get a free release ;)

https://github.com/php/pecl-search_engine-solr



Security (3)

pledge

OpenBSD's pledge / unveil support

This is a PHP extension that adds support for OpenBSD's pledge and unveil system calls.


rnp

wrapper around the RNP library

PHP extension for RNP - high performance OpenPGP implementation


selinux  8️⃣

SELinux binding for PHP script language

This extension provides a set of interfaces to communicate between
    SELinux and PHP script language. It contains functions to get/set
    security context of processes and other objects, to get/set system
    booleans, to make a query for in-kernel security server and so on.



Structures (5)

ds  8️⃣

Data Structures

Data Structures for PHP 7


php_trie  8️⃣

PHP Trie extension

Trie and HAT trie data structures for PHP.


quickhash

Provides a set of specific strongly-typed classes for sets and hashing

This extension contains four classes for managing: an integer set, an integer
hash, integer to string hash and a string to integer hash. The main features
are low memory consumption and fast serialization and deserialization of
the sets and hashes.


teds  8️⃣

Provides extra data structures and iterable/array functionality.

teds (Tentative Extra Data Structures) is a collection of data structures and iterable
functionality


weakreference_bc

Polyfill of WeakMap/WeakReference for older PHP versions. This is a fork of the abandoned "weakref" PECL.

A weak reference provides a gateway to an object without preventing that object from being
collected by the garbage collector (GC).



System (6)

dio

Direct I/O functions

PHP supports the direct io functions as described in the 
Posix Standard (Section 6) for performing I/O functions at 
a lower level than the C-Language stream I/O functions 
(fopen(), fread(),..). 

DIO provides functions and stream wrappers which provide raw and
serial low level IO support.  The use of the DIO functions should 
be considered only when direct control of a device is needed. 
In all other cases, the standard filesystem functions are 
more than adequate.


ice  8️⃣

Simple and fast PHP framework

Ice is a PHP framework frozen in C extension.


phalcon  8️⃣

Phalcon is a full stack PHP framework offering low resource consumption and high performance.

Phalcon is an open source full stack framework for PHP, written as a C-extension. Phalcon is optimized for high
    performance. Its unique architecture allows the framework to always be memory resident, offering its functionality
    whenever its needed, without expensive file stats and file reads that traditional PHP frameworks employ.


sync  8️⃣

Named and unnamed synchronization objects

The 'sync' extension introduces synchronization objects into PHP.  Named and unnamed
Mutex, Semaphore, Event, Reader-Writer, and named Shared Memory objects provide OS-level
synchronization mechanisms on both *NIX (POSIX shared memory and pthread shared memory
synchronization required) and Windows platforms.  This extension is a direct port of and
compatible with the cross platform 'sync' library: 
https://github.com/cubiclesoft/cross-platform-cpp


win32service  8️⃣

A Windows specific extension to allow PHP to interact with Windows Services.

The win32service extension is a Windows specific extension that allows PHP to communicate with the Service
        Control Manager to start, stop, register and unregister services, and even allows your PHP scripts to run as a
        service.


yaf  8️⃣

PHP Framework in PHP extension

Yaf is a PHP framework similar to zend framework, which is written in c and built as PHP
extension



Text (3)

parle  8️⃣

Parsing and lexing

With Parle, it is possible to implement lexing and parsing in PHP while relying on
features and principles of the parser/lexer generator tools for C/C++.


pspell

This extension allows you to check the spelling of a word and offer suggestions.

This extension allows you to check the spelling of a word and offer suggestions.


xdiff  8️⃣

File differences/patches.

This extension creates and applies patches to both text and binary files.



Tools and Utilities (13)

awscrt

AWS Common Runtime PHP bindings

AWS Common Runtime provides a set of low level tools as network protocols and
authentication used by the AWSSDK for PHP to provide high level API to access AWS
services.


bsdiff

The bsdiff extension for PHP

A PHP extension to build and apply patches to binary files.


fann  8️⃣

Wrapper for FANN (Fast Artificial Neural Network) Library

This package provides a PHP binding for FANN (Fast Artificial Neural Network) Library


ion

Amazon ION support

This PHP extension  provides support for the Amazon ION serialization format.
https://awesomized.github.io/ext-ion/


jsonpath  8️⃣

Extract data using JSONPath notation

This extension allows you to use the versatile JSONPath query language to extract the
properties that you want from a decoded JSON document.


msgpack  8️⃣

PHP extension for interfacing with MessagePack

This extension provide API for communicating with MessagePack serialization.


pinpoint_php

PHP extension for pinpoint-apm

This extension provides an API pinpoint-apm and built-in function auto-injection


protobuf

Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.

https://developers.google.com/protocol-buffers/


simdjson  8️⃣

Provides faster json decoding through simdjson bindings for PHP

Provides faster json decoding through simdjson bindings for PHP (Single Instruction,
Multiple Data)


skywalking_agent  8️⃣

Apache SkyWalking PHP Agent.

The PHP Agent for Apache SkyWalking, which provides the native tracing abilities for PHP
project.


stomp  8️⃣

Stomp client extension

This extension allows php applications to communicate with any Stomp compliant Message
Brokers through easy object oriented and procedural interfaces.


xhprof  8️⃣

XHProf: A Hierarchical Profiler for PHP

XHProf is a function-level hierarchical profiler for PHP and has a simple HTML based
navigational interface. The raw data collection component is implemented in C (as a PHP
extension). The reporting/UI layer is all in PHP. It is capable of reporting
function-level inclusive and exclusive wall times, memory usage, CPU times and number of
calls for each function. Additionally, it supports ability to compare two runs
(hierarchical DIFF reports), or aggregate results from multiple runs.


zephir_parser  8️⃣

Zephir code parser.

Zephir Parser is a code parser, delivered as a C extension for the PHP language.



Web Services (2)

oauth  8️⃣

oauth consumer extension

OAuth is an authorization protocol built on top of HTTP which allows applications to securely access data without having to store usernames and passwords.

Requirements: ext/hash (now a part of PHP core)


yar  8️⃣

Light, concurrent RPC framework

Yar(Yet another RPC framework) is a light, concurrent RPC framework, supports multi
package protocols (json, msgpack)


What is PECL?

PECL (The PHP Extension Community Library) is a repository for PHP Extensions, providing a directory of all known extensions and hosting facilities for downloading and development of PHP extensions.

The packaging system used by PECL is shared with its sister, PEAR.

What is this repository?

The PECL website, created many years before GitHub was created ... and still more years before GitHub's more advanced features, is often slow to respond. In an effort to lighten the load on that website, this repository uses GitHub Actions to check the PECL releases feed and update this repository with a cache of the information contained on the PECL website.

What do you consider "relevant"?

PHP is changing pretty rapidly these days. If a package hasn't had a release in over 3 years, I'm calling it stale.

You can also look at the bin/apply-opinions script if you like, to see more details about how the README page is generated with those opinions.

Is everything from PECL cached here?

No. If a package is marked abandoned on the PECL website, or has not has a release within the last 3 years, the tools in this repository will ignore it. Basically, PECL listings have been sorted into "relevant" and "irrelevant" buckets. Irrelevant extensions are those that haven't been updated for life after PHP 5.

Is any data changed from the PECL website?

Some, yes.

SPDX License Identifiers

The PECL historically allowed free-form text for indicating software licenses. We've mapped all those onto SPDX license IDs and added a SPDX-License-Identifier key to all packages and releases. (Note: we haven't modified any of the source, and obviously our mappings aren't binding, we're not lawyers, etc. etc. We're just trying to clean up some data.)

You can see the mapping we use in data/spdx-map.json. If we couldn't figure out a SPDX Identifier from looking at the source, and if the most recent package release was over 5 years ago, we set the value of SPDX-License-Identifier to false.

Dual-licensing decisions made were based on the SPDX FAQ.

Hyperlinks

Some of the packages in PECL don't have up-to-date links in the PECL database, despite being actively maintained packages. Some of the hyperlinks for packages deemed "relevant" have been manually tweaked to point to the appropriate places.

Why is this repo useful?

Filtered List

The PECL website lists all extensions, regardless of whether or not they're active, whether they've had releases in the last decade, etc. That can make it difficult to find extensions that you might want to consider using today.

JSON representation

Much of the PECL website's data is available as XML data feeds, but these days, JSON is a little more convenient. This repository's /data directory has JSON representations of data from PECL releases.

How often is this repository updated?

After assembling the initial data, we check the PECL latest releases RSS feed regularly and update the content here when new releases occur.

What if my package's information is wrong?

Start with updating it on the PECL website. If your latest release isn't listed here, it may be because you didn't release it on the PECL website.

What about PHP extensions that aren't in PECL?

Consider adding them to PECL. I may expand this repository to include non-PECL extensions in the future.

Something wrong? Something right?

Let me know via email or Twitter, or open a ticket on this repo.