Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

struggling to install PHP pecl on Centos

I'm trying to install the php_http PHP extension on my CentOS server.

I have done:

yum install php-pear

But get:

No package php-pear available

Yet I can do:

pear

And get a list of commands from Pear.

Same for yum install pecl. I can do pecl but pecl install pecl_http returns:

No releases available for package "pecl.php.net/pecl_http"
install failed

Yet /usr/bin/pecl isn't a directory that exists. Also a sudo pecl install pecl_http returns sudo: pecl: command not found, which I find quite odd.

I'm not entirely sure what's going on here/what I'm doing wrong.

edit: I am using the following repos:

base                         CentOS-6 - Base
epel                         Extra Packages for Enterprise Linux 6 - x86_64
extras                       CentOS-6 - Extras
rpmforge                     RHEL 6 - RPMforge.net - dag
updates                      CentOS-6 - Updates
vz-base                      vz-base
vz-updates                   vz-updates                                                            
like image 469
Harry Avatar asked Oct 22 '13 11:10

Harry


People also ask

Is PECL deprecated?

Unlike other reports, the pear/pecl tools are not deprecated in PHP. They're merely not being enabled by default. The pecl tool is the only official way to fetch and compile PHP extensions. Unless there is an official replacement, please continue building the default docker images with the --with-pear flag.

What is PHP PECL HTTP?

PECL is a repository for PHP Extensions, providing a directory of all known extensions and hosting facilities for downloading and development of PHP extensions. The packaging and distribution system used by PECL is shared with its sister, PEAR .

What is PECL in Linux?

PECL (PHP Extension Community Library) is a spin-off of PEAR, and is primarily used to house groups of functions that are no longer bundled with the default installation of PHP. As of PHP 5, these extensions can be downloaded and installed separately from the regular PHP download.


1 Answers

On CentOS,

  1. Install PHP Pear if not installed yet:

    # yum install php-pear
    
  2. Install GCC if not installed yet:

    # yum install gcc
    
  3. Install cURL if not installed yet:

    # yum install curl-devel
    
  4. Install following libraries if not installed yet:

    # yum install php-devel
    # yum install zlib-devel
    # yum install pcre-devel
    
  5. Start the main installation:

    # pecl install pecl_http
    
  6. Add the following line to /etc/php.ini file

    extension=raphf.so
    extension=propro.so
    extension=http.so
    
  7. Restart apache server so the extension can be loaded

    # service httpd restart
    

You can check if it installed successfully or not:

# pecl list
like image 109
Chuong Van Nguyen Avatar answered Sep 28 '22 21:09

Chuong Van Nguyen