How to install a PEAR module

Note:

Most business-class hosting servers now come equipped with a PEAR installer via cPanel to allow you to install custom PEAR modules. If you are on a business-class hosting plan (Launch, Power, or Pro) and are on a server that does NOT have this feature enabled, please contact support@inmotionhosting.com to request to be moved to a newer server.  VPS and dedicated server customers can ask to have this feature enabled at no extra charge.

Custom Installations:

User Submitted: Jim Frenette Web Developer, http://www.brijo.com

This is an article submitted by one of our customers that explains how to set up your own installation of PEAR for php, which in turn will allow you to install your own PEAR modules.

Please note: InMotion Hosting can only provide LIMITED support for third-party softwares, customer installations, etc. We are limited to providing server-side variables only.

First, create a directory outside your public_html called “pear.” This folder should be world-readable and writable, which will require permissions of 777. Then, create another folder in your public_html. You can choose the name of this folder, but you may want to password-protect it to restrict access to its files. For purposes of this demonstration, the folder we are creating is called “pear-inst

How to Password-Protect a Directory

Go to http://pear.php.net/go-pear and copy the contents of that page into a Notepad file called “

http://example.com/pear-inst/go-pear.php This is the main installation file. From here, the only field you should need to edit is the installation prefix, which will be the absolute path to the ‘

/home/userna5/pear

userna5‘ is your InMotion username. You will also want to set the php CLI path in question 11. The path to the php binary is /usr/bin/php. Once the installation is complete, you now have your own instance of Pear installed on your site. You will need to make sure to set the include path in your php scripts to reflect that of your installation, and not the one on the server:

set_include_path(‘../../pear/PEAR’ . PATH_SEPARATOR . get_include_path());

From here you can also install your own pear packages. To do this, you can create a file called “install.php” in your pear-inst directory and add this code:

include_once “../../pear/index.php”;
 

When you load this page in a browser (http://example.com/pear-inst/install.php) you will see the standard PEAR installation interface, where you can install your own PEAR modules. For security purposes, you will want to set the permissions of the pear directory to 755 when you are done installing PEAR and other modules. 

Thoughts on “How to install a PEAR module

  • I followed the instructions as well and received the same error message on line 697.  I would suspect that the instructions need to be re-examined and corrected.

    • Hello,

      Sorry for the problems with the PEAR installation. These instructions have been screened multiple times and verified that they work. If you are having problems then it may be related to another factor. Please contact our live technical support team for further assistance. They are available 24/7 and can be contacted via email/phone/chat as per the information at the bottom of the page.

  • It goes to 21% and throws an exception:

     

    Bootstrapping Installer……………….
    Bootstrapping PEAR5.php…………(remote) ok
    Bootstrapping PEAR.php…………(remote) ok
    Bootstrapping Archive/Tar.php…………(remote) ok
    Bootstrapping Console/Getopt.php…………(remote) ok 
    Fatal error: Class ‘PEAR’ not found in /home/*redacted*/public_html/pri/go-pear.php on line697

    • Hello Serosis,

      Sorry to hear that you’re having problems with the installation. You have not provided enough information to check your account. If you are having problems with the installation of a PEAR module, then please provide more specific detail (account user name/domain name would help). If you want to handle this issue privately (posts on the cx support center are public), then contact our live technical support team via phone/chat/ticket.

      Regards,
      Arnel C.

Leave a Reply