struggling to install PHP pecl on Centos - php

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

On CentOS,
Install PHP Pear if not installed yet:
# yum install php-pear
Install GCC if not installed yet:
# yum install gcc
Install cURL if not installed yet:
# yum install curl-devel
Install following libraries if not installed yet:
# yum install php-devel
# yum install zlib-devel
# yum install pcre-devel
Start the main installation:
# pecl install pecl_http
Add the following line to /etc/php.ini file
extension=raphf.so
extension=propro.so
extension=http.so
Restart apache server so the extension can be loaded
# service httpd restart
You can check if it installed successfully or not:
# pecl list

Step 1) import the REMI repo
CentOS 5
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm;
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm;
CentOS 6
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm;
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm;
Step 2) install php-pear
yum --enablerepo=remi,remi-php55 install php-pear
Step 3) install pecl_http
pecl install pecl_http

For other people having this problem. I discovered this question while trying to figure out why I was having the same problem. Turned out the default configuration at my hosting provider was to include php* in the exclude directive for yum. Check /etc/yum.conf and make sure that the package you're trying to install isn't matched by an entry in the exclude directive.

if you are running php 7 you might want to try this
yum install php70w-pear
if you get any errors, be sure to uninstall the pear package from any previous attempts
yum remove php-pear
best of luck

If you are using php 5.4.x, IMO best repo to use is iuscommunity. Its very stable and used by Rackspace to do only PHP and a few other packages for CentOS.
rpm -Uhv http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/ius-release-1.0-11.ius.centos6.noarch.rpm
yum install php54-pear
Mind you, the reason why its php54-pear and not php-pear is because 5.3 and 5.4 both are compiled in the repository. Here is the list of php packages -> http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/repoview/development.languages.group.html
I tested this and it works, but I only use EPEL and iuscommunity REPO's. I avoid using rpmforge myself.

Centos 6.5 and php7:
sudo su -
yum install yum-utils
you can get last version of lua : http://pecl.php.net/package/lua
wget http://pecl.php.net/get/lua-2.0.4.tgz
tar -xvzf lua-2.0.4.tgz
cd lua-2.0.4
mkdir /usr/include/lua
mv * /usr/include/lua
yum install gcc
yum install php70w-pearl php70w-devel
yum install curl-devel
yum install zlib-devel
yum install pcre-devel
ln -s /usr/include/lua.h /usr/include/lua/lua.h
rpm -Uvh https://centos6.iuscommunity.org/ius-release.rpm
yum-config-manager --enable remi-php70
yum update
yum --enablerepo=remi,remi-php70 install php70w-pear
yum install lua-devel lua-static
pecl install lua-2.0.4

Whatever your PHP provider is (IUS, Remi or Webtatic), the pear package and the pecl extensions "should" be available there, without any need to compile it from sources (which is usually discouraged, especially on production)
At least "remi" provides most extensions, see the list
So installation should be as simple as
yum install php-pecl-http
yum install php-pecl-lua
etc
And, don't forget to read the Wizard instructions

I tried almost everything on this list before I finally realized that my WHM/cPanel installation was blocking the yum packages. I have to install all PECL modules (I was stuck trying to install mongodb on this particular occation) through the Home > Software > Module Installers inside WHM (cpanel documentation says that you have to be logged in as root).

After watching a lot of threads and installing pear and all the devtool, I finally solved it installing this extension:
yum install php-pecl-mongo
as I seen in - https://madcoda.com/2012/12/install-mongodb-php-driver-in-centos-6-3/

Related

How to install php module intl on ubunut 22.04 with two php versions active - php 8.1 and php 8.2

My worpdress website site health page dispalyas apossible improvement - php module intl missing.
My server has multiple versions of php (8.1 &8.2) active.
I use the following ssh command to install the missing intl module-
apt-get install -y php-intl
But get tis error message.
The following packages have unmet dependencies:
php8.1-intl : Depends: php8.1-common (= 8.1.2-1ubuntu2.10) but 8.1.14-1+ubuntu18.04.1+deb.sury.org+1 is to be installed
E: Unable to correct problems, you have held broken packages.
the php modules which are active om my server , like imagick, are installed for php8.1. but my active php version is 8.2.
The problem is with the dependencies of the "php8.1-intl" package. Specifically, it requires version 8.1.2-1ubuntu2.10 of the "php8.1-common" package, but the version that is currently available is 8.1.14-1+ubuntu18.04.1+deb.sury.org+1, which is causing a conflict.
try:
sudo apt update
sudo apt-get check
sudo apt-get install -f
sudo dpkg --configure -a
5.sudo apt-get install php8.1-common=8.1.2-1ubuntu2.10
6.sudo apt-get install php8.1-intl
You may need to remove the conflicting package(s) and installing the required packages again. But be careful when removing packages as it may cause other dependencies to break.

Install php-pear package on the current set up of Php7

I need to install the php-pear package on the current php7 - CentOS7 set up. I have tried using the remi rpm repository but it creates a new php package. I need it on the existing one. Can anyone help?
# verify that you do not have any php-pear package installed
sudo yum list installed | grep "php*-pear"
# verify what php version your command line is using (which is _likely_
# to be the same than your web server)
php -v
# see what are the available php-pear package
sudo yum list available | grep "php*-pear"
#install the relevant php pear package
sudo yum install php71w-pear
Related post (not a duplicate, but might help some people) yum install php-pear* on centos

How to install a newer version of PHP than what Yum installs?

I have installed PHP by executing the following command:
yum install php
It installs PHP 5.3.3 in my server... but I want to install PHP 5.4. How can I do that?
Saw it on https://webtatic.com/packages/php54/
To install, first you must add the Webtatic EL yum repository information corresponding to your CentOS/RHEL version to yum:
CentOS/RHEL 7.x:
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
CentOS/RHEL 6.x:
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
CentOS/RHEL 5.x:
rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
Now you can install php by doing:
yum install php54w
yum installs approved versions of packages. The approved version depends on a few things, such as your distribution and whether the package itself has been tested and deemed as working. This testing can sometimes lag well behind the development of the packages. Chances are that the version that you have installed is the latest approved version.
Building PHP isn't manually terribly difficult, so that's probably your best option. Uninstall the version you have from yum and checkout the official instructions on how to clone and build yourself.
Either that or look around for other packages in yum that give you a newer version (see #barbarity's answer).
Reference http://ahmed.amayem.com/replacing-yum-plugin-replace-one-yum-install-package-php-with-another-on-linux-centos-6/
Check available packages
rpm -q php
Installing the webtatic release RPM(For CentOs 6.x)
sudo rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
Check for available packages in other repo
yum info php55w
Trying to update using yum update
sudo yum update php
Updating using yum remove then yum install
yum info php-common
Removing php-common
sudo yum remove php-common
Installing php55w and php55w-common
sudo yum install php55w php55w-common
Now restart your apache server then check the php version.

Hostgator Vps 1 install yum packages

I am trying to install packages using repositories.
I have tried Webtatic and install using
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
I then try
yum install --enablerepo=webtatic package-name
yum install cpanel-php53.x86_64
but I always get setting up install process nothing to do
How would I get php to work on this server? And also yum list install returns along list of packages do I have to do anything extra with these packages to use them
For custom rpm build, follow this guide.
http://docs.cpanel.net/twiki/bin/view/AllDocumentation/WHMDocs/CustomBuildRpm

can't install php-devel on centos

I need help with installation of php-devel (I need it, cause it has phpize, which is necessary to install eAccelerator). But when I try to install php-devel with yum install php-devel it gives me the following errors:
# yum install php-devel
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: centos.itt-consulting.com
* epel: mirror.yandex.ru
* extras: centos.itt-consulting.com
* passenger: mirror.hmdc.harvard.edu
* updates: centos.itt-consulting.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-devel.x86_64 0:5.3.3-14.el6_3 will be installed
--> Processing Dependency: php = 5.3.3-14.el6_3 for package: php-devel-5.3.3-14.el6_3.x86_64
--> Finished Dependency Resolution
Error: Package: php-devel-5.3.3-14.el6_3.x86_64 (updates)
Requires: php = 5.3.3-14.el6_3
Installed: php-5.4.6-1.el6.remi.x86_64 (#remi-test)
php = 5.4.6-1.el6.remi
Available: php-5.3.3-3.el6_2.8.x86_64 (base)
php = 5.3.3-3.el6_2.8
Available: php-5.3.3-14.el6_3.x86_64 (updates)
php = 5.3.3-14.el6_3
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
I have no idea what to do with these errors. And I have php 5.3.3 installed (phpinfo() says that), so don't understand why in this list I can see Installed: php-5.4...
Rather than running yum install php-devel you needed to run yum --enablerepo=remi,remi-php54 install php-devel .
In short, just specifying which php-devel version you wanted from the remi repo. In your case you had php54 installed from remi so you needed to add in "remi-php54" . That would have successfully installed php-devel without the downtime.
What I did was:
yum search php53
and it showed the php-devel file to install. Once I did the search and found the correct devel package, I simply copied and pasted the entire name after yum install. I executed
yum install php53-devel.x86_64
to get it
If you have php 5.5.x, centos 6.5 64 try this
yum install php55w-devel
You will need also gcc
yum install gcc.x86_64
php was installed from Remi's repository. You will need to either downgrade to the stock php, or get php-devel from the same place.
sudo yum --enablerepo=remi install php-devel
Taking into consideration that I have different things installed from different repos, the only way was to delete all packages installed from Remi's repo and install standard packages with yum.
1) List all packages installed from some strange repo (in my case #remi), e.g. yum list installed | grep remi.
2) Remove all packages completely from the system with yum remove <package_name>
NOTE: after httpd restarting - all sites will DIE!
3) Quickly install all bunch of things you need, e.g. yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc etc.
4) Restart httpd and start mysql server.
5) Your sites are alive again.
The only thing why I did all this is cause I wanted to install eAccelerator for php to speed it up a little bit (and it's installation was impossible because of remi's repo packages), and I'm happy that I did it! All scripts works 2-10 times faster (I could not even imagine that my sites can respond so fast).
About the initial question (install eAccelerator).
This project is dead, and have never work with PHP >= 5.4.
So if you need an opcode cache, please choose a maintained one. I would recommend "opcache", the official cache maintained by the PHP project, included in php-src since 5.5, and available in pecl for 5.4.
And if you use "remi" repository, before trying to build an extension, check first if it is available in the repository, as most of the PECL extensions are available as RPM, see http://blog.remirepo.net/pages/PECL-extensions-RPM-status
yum --enablerepo=remi,remi-php55 install php55-devel
worked for me
For PHP 7.2 and similar, the following works for me(notice the remi-php72)
sudo yum --enablerepo=remi,remi-php72 install php-devel
if this is about installing xdebug requirements for centos then:
sudo yum --enablerepo=remi,remi-php72 install php-devel autoconf automake
Just type:
sudo nano /etc/yum.conf
And then remove php*
then type:
yum install --enablerepo remi php-pear php-devel

Categories