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