CakeFest 2024: The Official CakePHP Conference

Компиляция разделяемых модулей с помощью команды pecl

PECL упрощает создание общедоступных модулей PHP. Выполните следующую » команду pecl:


$ pecl install extname

Эта команда загрузит исходный код для модуля extname, скомпилирует и установит файл extname.so в директорию extension_dir. Затем файл extname.so может быть загружен через файл php.ini

По умолчанию команда pecl не будет устанавливать пакеты, отмеченные состоянием alpha или beta. Если нет доступных стабильных (stable) версий пакетов, можно установить beta-версию пакета следующей командой:


$ pecl install extname-beta

Также можно установить определённую версию, указав команду так:


$ pecl install extname-0.1

Замечание:

После подключения модуля в файле php.ini необходимо перезапустить веб-сервер, чтобы изменения вступили в силу.

add a note

User Contributed Notes 7 notes

up
19
giulliano dot scatalon dot rossi at gmail dot com
3 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
4
ezekial aikle
7 months 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
12 years ago
The Arch Linux package that contains PECL is 'php-pear'

# pacman -S php-pear
up
7
ericn at amazon dot com
10 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
15 years ago
Install pecl for gentoo:

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