PacktLib: The PEAR Installer Manifesto

The PEAR Installer Manifesto

Credits

About the Author

About the Reviewers

Preface

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

Summary

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

Summary

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

PEAR_PackageFileManager

Creating a Package for Installation with the PEAR Installer

Summary

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

Summary

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

Summary

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

Summary