PacktLib: The PEAR Installer Manifesto

The PEAR Installer Manifesto


About the Author

About the Reviewers


Acquiring PEAR: What is it and How do I Get It?

A Democratic Innovation for PHP: PEAR Channels

What is PEAR? A Code Repository or an Installer?

Installing the PEAR Installer

Synchronizing to a Server with no Shell Access Using PEAR_RemoteInstaller


Mastering PHP Software Management with the PEAR Installer

Distributing Libraries and Applications

Using Versioning and Dependencies to Help Track and Eliminate Bugs

Distribution and Upgrades for the End User

An Overview of package.xml Structure

Tags Shared between package.xml 1.0 and 2.0

New Tags in package.xml

File/Directory Attributes: name, role, and baseinstalldir


Leveraging Full Application Support with the PEAR Installer

package.xml Version 2.0: Your Sexy New Friend

PEAR Channels: A Revolution in PHP Installation

Application Support

Bundling Several Packages into a Single Archive

Backwards Compatibility: Using package.xml 1.0 and 2.0

Why Support Old and Crusty package.xml 1.0?

Case Study: The PEAR Package


Creating a Package for Installation with the PEAR Installer


Clever Website Coordination Using the PEAR Installer

Overview of the Problem

Understanding the Problem

The Solution, Part I: All-Important Source Control

The Solution, Part II: Using the PEAR Installer to Update the Website


Releasing to the World: PEAR Channels

Distributing a package.xml-Based Package

Distributing Packages through a Channel Server

Distributing Pay-For-Use PHP Applications through a Channel

Distributing Packages through Static tarballs for Single-Client Installations

Security Issues Inherent in Remote Installation


Embedding the PEAR Installer: Designing a Custom Plug-In System

Why Embed PEAR?

Other Plug-In Systems

Designing a Custom PEAR Channel-Based Plug-In System