Summary
PECL is “The PHP Extension Community Library”. In OpenBSD, some PECL libraries such as imagick are available as ports packages.
However, it might be sometimes necessary to use pecl
commands themselves. For example, in my case, it was to install PECL MongoDB extension which didn’t exist in ports.
Environment
Description
To enable pecl
commands, what to do is just install pear, which is “PHP Extensions and Add-on Repository” and comes with pear-utils:
$ doas pkg_add pear
The output was:
quirks-3.326 signed on 2020-09-22T20:03:15Z
pear-1.10.9:pear-utils-1.10.9: ok
pear-1.10.9: ok
Conclusion
Then you have 😉 :
$ pecl version
The output was:
PEAR Version: 1.10.7
PHP Version: 7.3.22
Zend Engine Version: 3.3.22
Running on: OpenBSD ... 6.7 GENERIC#6 amd64
Also you will be able to use:
$ pecl help
The output was:
Commands:
build Build an Extension From C Source
bundle Unpacks a Pecl Package
channel-add Add a Channel
channel-alias Specify an alias to a channel name
channel-delete Remove a Channel From the List
channel-discover Initialize a Channel from its server
channel-info Retrieve Information on a Channel
channel-login Connects and authenticates to remote channel server
channel-logout Logs out from the remote channel server
channel-update Update an Existing Channel
clear-cache Clear Web Services Cache
config-create Create a Default configuration file
config-get Show One Setting
config-help Show Information About Setting
config-set Change Setting
config-show Show All Settings
convert Convert a package.xml 1.0 to package.xml 2.0 format
cvsdiff Run a "cvs diff" for all files in a package
cvstag Set CVS Release Tag
download Download Package
download-all Downloads each available package from the default channel
info Display information about a package
install Install Package
list List Installed Packages In The Default Channel
list-all List All Packages
list-channels List Available Channels
list-files List Files In Installed Package
list-upgrades List Available Upgrades
login Connects and authenticates to remote server [Deprecated in favor of channel-login]
logout Logs out from the remote server [Deprecated in favor of channel-logout]
makerpm Builds an RPM spec file from a PEAR package
package Build Package
package-dependencies Show package dependencies
package-validate Validate Package Consistency
pickle Build PECL Package
remote-info Information About Remote Packages
remote-list List Remote Packages
run-scripts Run Post-Install Scripts bundled with a package
run-tests Run Regression Tests
search Search remote package database
shell-test Shell Script Test
sign Sign a package distribution file
svntag Set SVN Release Tag
uninstall Un-install Package
update-channels Update the Channel List
upgrade Upgrade Package
upgrade-all Upgrade All Packages [Deprecated in favor of calling upgrade with no parameters]
Usage: pecl [options] command [command-options] <parameters>
Type "pecl help options" to list all options.
Type "pecl help shortcuts" to list all command shortcuts.
Type "pecl help version" or "pecl version" to list version information.
Type "pecl help <command>" to get the help for the specified command.