PHP Conference Nagoya 2025

Compilando extensões PECL compartilhadas com o comando pecl

O PECL facilita a criação de extensões PHP compartilhadas. Usando o » comando pecl, faça o seguinte:

$ pecl install extname

Isso fará o download do código-fonte de extname, compilará e instalará extname.so em extension_dir. extname.so pode então ser carregada usando o php.ini.

Por padrão, o comando pecl não instalará pacotes marcados com o estado alpha ou beta. Se nenhum pacote stable estiver disponível, um pacote beta pode ser instalado usando o seguinte comando:

$ pecl install extname-beta

Uma versão específica também pode ser instalada usando esta forma:

$ pecl install extname-0.1

Nota:

Depois de habilitar a extensão no php.ini, será necessário reiniciar o serviço web para que as alterações sejam detectadas.

adicione uma nota

Notas Enviadas por Usuários (em inglês) 7 notes

up
20
giulliano dot scatalon dot rossi at gmail dot com
4 years ago
To install the PECL on debian based linux distros (ubuntu, mint, kali, etc.)
Use the apitude command:

sudo apt-get install php-pear

I hope helped someone
up
7
ezekial aikle
1 year ago
Options to pass to configure (with -D or --configureoptions=) need to be specified this way in a Dockerfile RUN command:

RUN pecl install -D 'with-example-dir="/dir" enable-example-thing="yes"' package
or
RUN pecl install --configureoptions='with-example-dir="/dir" enable-example-thing="yes"' package

Otherwise, docker build might quote the command in a way that pecl doesn't parse correctly, and the build will fail with an error like this one:

PHP Fatal error: Uncaught TypeError: array_key_exists(): Argument #2 ($array) must be of type array, null given in /usr/local/lib/php/PEAR/Builder.php:397
up
8
Bichis Paul
7 years ago
on Mageia Linux use urpmi

[afk@mageia5][~]$ sudo urpmi php-pear
up
9
ktcox at mail dot com
13 years ago
The Arch Linux package that contains PECL is 'php-pear'

# pacman -S php-pear
up
7
ericn at amazon dot com
11 years ago
To compile pecl extensions on Amazon Linux AMIs, follow the tutorial at http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html and then install these additional required packages with the following command:

[ec2-user ~]$ sudo yum install php-devel zlib-devel curl-devel gcc

You should then be able to compile pecl extensions; for example, enter the following command to compile the pecl_http extension:

[ec2-user ~]$ sudo pecl install pecl_http
up
7
zir dot echo at gmail dot com
16 years ago
Install pecl for gentoo:

emerge dev-php/PEAR-PEAR
up
3
pedro dot fonini at gmail dot com
16 years ago
to use the pecl, pear, or phpize commands in fedora, install the php-devel package:
$ yum install php-devel
To Top