This is the definitive source of PEAR's core files.
PHP C HTML Yacc C++ Batchfile Other
Clone or download
ashnazg Merge pull request #74 from kenguest/master
Bug #23744  Remove is_executable check in System::which
Latest commit f22fb69 Mar 15, 2018
Failed to load latest commit information.
OS Get rid of $Id$ comments Feb 15, 2015
PEAR fix Warning: count(): Parameter must be an array or an object that im… Oct 12, 2017
docs spelling fixes Feb 12, 2017
man1 Implement #20333: New role=man and man pages for pear/pecl/peardev/pe… Jul 28, 2015
man5 Implement #20333: New role=man and man pages for pear/pecl/peardev/pe… Jul 28, 2015
packages re-organize as per PEAR-Core discussion Apr 9, 2004
scripts remove debug statements Mar 3, 2015
tests test for bug18102 Apr 26, 2017
.gitignore ignore Eclipse files Feb 27, 2017
.travis.yml validate package file first; rerun tests after dependency upgrades Feb 24, 2017
CODING_STANDARDS Get rid of $Id$ comments Feb 15, 2015
INSTALL Get rid of $Id$ comments Feb 15, 2015
LICENSE Add the new bsd 2 clause license instead of the php one Feb 24, 2009
Makefile.frag - Fixed bug #25348 ("make install" fails with --enable-short-tags). Sep 2, 2003
PEAR.php Fix E_NOTICE on PHP 7.1 Feb 28, 2017
README.CONTRIBUTING update doc Apr 13, 2009
README.rst adjust build instructions Oct 17, 2015
System.php Bug #23744 Remove is_executable check in which Mar 15, 2018 adjust build instructions Oct 17, 2015
catalog * added sgml/xml catalog file Apr 15, 2001
composer.json Update composer.json May 3, 2017
go-pear-list.php Get rid of $Id$ comments Feb 15, 2015
go-pear-phar.php update to PEAR/Start/CLI.php Aug 19, 2005
install-pear.php Fix notice undefined variable metadata_dir Jul 17, 2017
install-pear.txt * the "a" in "pear" is "application" now Feb 10, 2003
make-command-xml.php Be more verbose. Aug 2, 2009
make-gopear-phar.php add new Proxy file to go-pear.phar Mar 1, 2017
make-installpear-nozlib-phar.php add new Proxy file to install-pear-nozlib.phar Mar 6, 2017
make-pear-bundle.php Get rid of $Id$ comments Feb 15, 2015
package-ErrorStack.xml Increase minimum PHP dependency to 5.4.0 Feb 4, 2015
package-manpages.xml pear manpages version 1.10.0 Oct 7, 2015
package.dtd fix Bug #5866: <filelist> tag made mandatory in package 1.0 DTD Nov 12, 2005
package2.xml prep for v1.10.5 Jun 27, 2017
template.spec * fix Bug #6034: date format bug Nov 27, 2005
test-modified.php Cosmetics and adjust the pear2/all thing to also allow people to use … Aug 9, 2009


PEAR - The PEAR Installer

What is the PEAR Installer? What is PEAR?

PEAR is the PHP Extension and Application Repository, found at

The PEAR Installer is this software, which contains executable files and PHP code that is used to download and install PEAR code from

PEAR contains useful software libraries and applications such as MDB2 (database abstraction), HTML_QuickForm (HTML forms management), PhpDocumentor (auto-documentation generator), DB_DataObject (Data Access Abstraction), and many hundreds more. Browse all available packages at, the list is constantly growing and updating to reflect improvements in the PHP language.


Do not run PEAR without installing it - if you downloaded this tarball manually, you MUST install it. Read the instructions in INSTALL prior to use.


Documentation for PEAR can be found at Installation documentation can be found in the INSTALL file included in this tarball.


Run the tests without installation as follows:

$ ./scripts/ run-tests -r tests

You should have the Text_Diff package installed to get nicer error output.

To run the tests with another PHP version, modify php_bin and set the PHP_PEAR_PHP_BIN environment variable:

$ pear config-set php_bin /usr/local/bin/php7
$ PHP_PEAR_PHP_BIN=/usr/local/bin/php7 ./scripts/ run-tests -r tests

Happy PHPing, we hope PEAR will be a great tool for your development work!

Test dependencies

  • zlib


Create a PEAR package as well as phars for pear-less installation:

$ rm -f PEAR-*.tgz
$ pear package package2.xml
$ cd go-pear-tarballs
$ rm -f PEAR-*
$ cp ../PEAR-*.tgz .
$ gunzip PEAR-*.tgz
$ pear download -Z Archive_Tar Console_Getopt Structures_Graph XML_Util
$ mkdir src && cd src
$ for i in ../*.tar; do tar xvf $i; done
$ mv *\/* .
$ cd ../../
$ php make-gopear-phar.php
$ php make-installpear-nozlib-phar.php

(Or simply run

go-pear.phar is contains the PEAR installer installer that asks questions where to install it. It is available from

install-pear-nozlib.phar installs PEAR automatically without asking anything. It is shipped with PHP itself.