Pear won't uninstall - php

Recently I successfully uninstalled pear using the following command:
$ sudo pear uninstall pear
So I recently reinstalled it, but I botched the installation and I want to start over (once again). This time, when I run the above command, pear gives me this message:
pear/pear not installed
Any suggestions?

PEAR is just a bunch of php scripts. To uninstall it manually just remove /usr/share/php/PEAR (the path can vary on distribs)

Refer to the correct way to install and uninstall pear:
http://pear.php.net/manual/en/installation.getting.php

Related

How to uninstall PEAR from one installation of PHP and then install it with another existing PHP installation

I have two installations of php on my server. One version of php is 5.2.0 configured with pear, and the other is 5.2.9 configured --without-pear. My server is running Red Hat Enterprise Linux AS release 4 (Nahant Update 9).
I would like to uninstall pear (and also PHPUnit) from php 5.2.0, and then reinstall it as part of the 5.2.9 version of php. The pear installation docs don't really cover this type of a situation, although they do tell Linux users to "consult the documentation for the respective distribution" in the event that they want to install pear with a version of php that was configured --without-pear. I am having trouble finding such documentation, and even if I did, I am not sure how to remove the existing pear installation first.
Here is a partial answer to my own question: After trial and error, I discovered that you can uninstall pear by running this command:
$ sudo pear uninstall pear
I would like to see this added to the official pear docs, since they don't mention uninstalling pear at all.
Use the Command Help
pear help
You'll see the uninstall command listed in the output. :)
Output
Commands:
build Build an Extension From C Source
bundle Unpacks a Pecl Package
channel-add Add a Channel
...
uninstall Un-install Package
...

Install PEAR on MAMP

I am using MAMP for development. I have never been able to get PEAR to work. The MAMP documentation and forums seem not to have the answers. Everybody who asked on the MAMP forum seems to have no replies.
Previously I have developed the systems on MAMP and only used PEAR for mail so I got it working once on the server rather than in MAMP. I want to use more of PEAR now.
Can anybody give me an idiots guide to getting it going. I can access terminal and type command lines, however, I don't really understand what's going on so when things stop or throw errors I have to ask more questions. I have had a go with various things found on the internet but failed so far.
MAMP is version 1.9.5 Mac OS 10.6.7
#Marcelo Rodrigo's answer is great! And I'm glad he included his sources. By following sources of his sources I was able to find the information below.
Install PEAR on MAMP
In order to get PEAR working with MAMP run the following commands. Notice there are commands for MAMP v1.x.x and for newer versions. Find out what version you are running. Also, notice that the PHP versions differ. Make sure the version in the commands below is the one you are actually using. MAMP allows you to change versions. You can check by opening MAMP > Server > PHP.
NOTE:
This may be obvious to some, but you should stop MAMP first. Otherwise you might get some strange errors.
1) Change the directory permissions so you can execute files within them:
MAMP v2.x.x
chmod 774 /Applications/MAMP/bin/php/php5.4.4/bin/pear
chmod 774 /Applications/MAMP/bin/php/php5.4.4/bin/php
MAMP v1.x.x
chmod 774 /Applications/MAMP/bin/php5.3/bin/pear
chmod 774 /Applications/MAMP/bin/php5.3/bin/php
2) Setup an alias to avoid typing the whole path.
Every time you want to access pear you have to type "/Applications/MAMP/bin/php5.3/bin/pear". Typing "pear" referes to what is installed on your mac already and not MAMP's install. (This only apply for the current session. For a permanent alias, place the command below in your ~/.bash_profile file. Here is a tutorial on how to do that.)
MAMP v2.x.x
alias mpear="/Applications/MAMP/bin/php/php5.4.4/bin/pear"
MAMP v1.x.x
alias mpear="/Applications/MAMP/bin/php5.3/bin/pear"
3) Make a link between php5 and php5.3 folders (Not Needed for MAMP v2.x.x):
Pear gets confused about its version because it installs in both php5.3 and php5 directory
When you upgrade pear it will create a new /Application/MAMP/bin/php5 directory and spread files between php5.3 and php5 folders. Use the code below to make a link between the two file so they act as one. More info about "ln" command. Source: #Marcelo Rodrigo's post
ln -s php5.3 php5
4) Check to make sure pear is working:
mpear -V
5) Now upgrade pear:
mpear channel-update pear.php.net
mpear upgrade pear
6) And check again to see if it upgraded pear correctly
mpear -V
Install PHPUnit
You do not need to install PHPUnit. If mpear -V worked for you, then you are done installing PEAR on MAMP. For my development environment I needed PHPUnit for unit testing, so I figured I would include a tutorial to install PHPUnit now that we have PEAR working. Only do this if you need PHPUnit. If you don't know what it is, you don't need it.
Run the following commands:
1) Install PHPUnit:
NOTE: Below I am using "mpear" which is actually an alias I setup in step 2 above. You could simply use "/Applications/MAMP/bin/php5.3/bin/pear" in its place.
mpear config-set auto_discover 1
mpear install pear.phpunit.de/PHPUnit
Source: http://www.phpunit.de/manual/current/en/installation.html
2) Allow MAMP to use PHPUnit
Link your MAMP's install of phpunit with the default phpunit location. (Doesn't work with Mountain Lion, instead see step 2a)
sudo ln -s /Applications/MAMP/bin/php5/bin/phpunit /usr/local/bin/phpunit
**2a) For Mountain Lion Only - Create a symobolic link between MAMP's php.ini and the php.ini in /etc
sudo ln -s /Applications/MAMP/bin/php/php5.4.4/conf/php.ini /etc/php.ini
If it says files exists, make a backup of /etc/php.ini and delete it.
3) Make sure it works
phpunit --version
For details about installing phpunit check out:
http://jeffreybarke.net/2010/08/how-to-install-phpunit-with-mamp/
http://www.phpunit.de/manual/current/en/installation.html
http://d.hatena.ne.jp/Kenji_s/20120117/1326763908
Sources:
http://jeffreybarke.net/2010/08/how-to-install-phpunit-with-mamp/
http://forum.mamp.info/viewtopic.php?f=2&t=8465#p20375
#Marcelo Rodrigo's Answer
If you just want phpunit to work, use the following commands on a fresh copy of MAMP 1.9.5:
cd /Applications/MAMP/bin
ln -s php5.3 php5
php5/bin/pear channel-discover pear.phpunit.de
php5/bin/pear channel-discover components.ez.no
php5/bin/pear channel-discover pear.symfony-project.com
php5/bin/pear channel-update pear.php.net
php5/bin/pear upgrade pear
php5/bin/pear install phpunit/PHPUnit
ln -s /Applications/MAMP/bin/php5/bin/phpunit /usr/local/bin/phpunit
phpunit --version
Done.
The above code fixes the following issues:
Bug 1:
pear gets confused about its version because it installs in both php5.3 and php5 directory
Pear updates upgrades and installs from /Applications/MAMP/bin/php5.3/pear, but it will create a new /Application/MAMP/bin/php5 directory and spread files between the php5.3 direct and the new php5 directory and get very confused about what version it is.
Fix:
ln -s php5.3 php5
I think that if you are using PHP 5.2 then using ln -s php5.2 php5 should work equally well but I haven't tested this
Issue 2:
pear is out of date
this is understandable of the MAMP team, the problem really was that it was difficult to do a upgrade because of Bug 1
Source: http://forum.mamp.info/viewtopic.php?f=6&t=11102
I recently found the following link correctly setup my MAMP 2.1.1 running:
PEAR Version: 1.9.4
PHP Version: 5.4.4
Zend Engine Version: 2.4.0
Try:
sudo /Applications/MAMP/bin/php/php5.4.4/bin/pear config-set auto_discover 1
sudo /Applications/MAMP/bin/php/php5.4.4/bin/pear install pear.phpunit.de/PHPUnit
To make it available on the command line everywhere you need to create a soft-line to phpunit in your local bin.
sudo ln -s /Applications/MAMP/bin/php/php5.4.4/bin/phpunit /usr/local/bin/phpunit
Now try:
phpunit --version
Confirm it works try it from here: /Applications/MAMP/bin/php/php5.4.4/bin/
Confirm the symlink worked. Try it somewhere else like ~/ or /.
If they both worked you are ready to code.
SOURCE/CREDIT: Enej Bajgoric Web Developer, CTLT UBC Vancouver Canada at http://blogs.ubc.ca/enej/2012/10/01/installing-phpunit-on-mamps/

Pear SOAP and XAMPP on Ubuntu

All,
I have installed xampp for linux on ubuntu 9.10. The installation directory is /opt/lampp. The xampp website says PEAR comes with the installation.. I am relatively new to PEAR and want to know the answers for following:
Is PEAR installed with xampp or need to be installed separately using synaptic package manager? I browse to /opt/lampp/bin directory and see "pear" there, but when i type it in the command line, it says
"The program 'pear' is currently not installed. You can install it by typing:
sudo apt-get install php-pear
pear: command not found
"
I want to use PEAR:SOAP package in my PHP code. How to use that? Do I need to set any paths to the pear in my php.ini?
Thanks
I figured it out.. xampp comes with pear... So, what I did was..
cd /opt/lampp/bin
sudo ./pear install soap
In PHP code, "require_once("SOAP/Client.php");
That's all !! :)
from what I was able to ascertain from my coleagues, you would need to populate pear to be able to use it.
It does come with the installation, but requires the population to be used.
source for code
First, go to your xampp installation
directory/folder and navigate to the
php directory. For me it’s
x:\xamplite\php
x:
cd \xampplite\php
pear install <package-name>
once this is done pear should be available to be used. And as for the second question. XAMPP should have taken care of any settings that were needed. You should not require any additions into the .ini for it to work.
However remember that there are no secuiritis when programming in this fashion, as stated by the XAMPP website.
EDIT**
also you have Pear Ubuntu install guide link that may help.
The error message you got back should be enough. Apparently the pear program isn't in your path. How did you install XAMPP? Did you use the package manager, or did you install it yourself?
If you used the package manager, then this is the correct next step:
sudo apt-get install php-pear
As you were given in the command help. Ubuntu doesn't install a lot of things by default, but it does install a database of stuff you might type, and what package you need to install to get that command to work.
If you installed it yourself, then you need to figure out how to get PEAR to register as being installed.

yum install php-pear* on centos

I'm trying to install pear on my centos.
I've used "*yum install php-pear**" to install pear and it seemed to install with success. No errors. I restart my server.
However when I check out phpinfo(). I see that my php is still built using "--without-pear".
Isn't yum supposed to rebuild my php with pear? What would be possibly going wrong?
Thanks!
Try something like
$ pear list
and
$ pear info PEAR
- now if you get a listing of installed packages in the first case and information on what version of pear is installed in the second you're ready to use it.
The output of phpinfo() is correct; the binary was built without PEAR. Fortunately what it says there doesn't matter. Look into the sections below to see what is currently available.
yum does not rebuild anything. It downloads the necessary software modules and installs it on your machine. Your stock centos php does not have pear pre-compiled, but it will still be able to use pear once you've downloaded your modules.
If you cannot run pear, make sure you have the executable included in your path, or use "locate" to find it.
You might still need to configure PEAR, did you check the PEAR site?
Resolved, I have installed the given packages and restarted the server.
Try this
yum install php-pear php-gd php-pear-DB -y
service httpd restart.
it works

phpunit require_once() error

I recently installed phpunit on my server via the pear installer.
When I go to run a test I get the following error:
PHP Warning: require_once(PHPUnit/Util/Filter.php): failed to open stream: No such file or directory in /usr/bin/phpunit on line 44
PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Util/Filter.php' (include_path='.:/usr/bin/php') in /usr/bin/phpunit on line 44
After doing some searching, I tried making some modifications to the include_path in my php.ini file on the server. But that hasn't done a thing.
Any idea what might be causing this?
UPDATE: As of 2013 November and Ubuntu 12.04 these 2 commands should suffice:
sudo pear config-set auto_discover 1
sudo pear install pear.phpunit.de/PHPUnit
The following is an older answer.
It's a known problem , although almost a year and a half had passed. Read about it here
The code coverage must be installed in order for phpunit to work properly
What you need to do is covered here:
code coverage installation through PEAR
Basically you have to type (with sudo if you don't have permissions, taken that phpunit is already installed):
pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear install phpunit/PHP_CodeCoverage
I had this problem on OS X. Fixed it with the following commands which force all the php dependencies to be reinstalled, which included a couple of packages from other channels that were not already configured:
sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no
sudo pear install --alldeps phpunit/PHPUnit
https://bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544
and specially this comment for ubuntu 11.04 and may be for some others too
even though i did ths steps as recommended above, i didn't get it to work but after i upgraded pear from 1.9.1 to 1.9.2 it's working perfectly just do this
speshu#speshu-laptop:~$ sudo pear upgrade pear
downloading PEAR-1.9.2.tgz ...
Starting to download PEAR-1.9.2.tgz (295,120 bytes)
.....................................................done: 295,120 bytes
upgrade ok: channel://pear.php.net/PEAR-1.9.2
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
PEAR: To install optional features use "pear install pear/PEAR#featurename"
If it is the first time you are using PEAR, perhaps you have not configured the include path right. Take a look at the appropriate section in the PEAR manual.
https://github.com/sebastianbergmann/php-code-coverage
sb#ubuntu ~ % pear channel-discover pear.phpunit.de
Adding Channel "pear.phpunit.de" succeeded
Discovery of channel "pear.phpunit.de" succeeded
sb#ubuntu ~ % pear channel-discover components.ez.no
Adding Channel "components.ez.no" succeeded
Discovery of channel "components.ez.no" succeeded
sb#vmware ~ % pear install phpunit/PHP_CodeCoverage
downloading PHP_CodeCoverage-0.9.0.tgz ...
Starting to download PHP_CodeCoverage-0.9.0.tgz (108,376 bytes)
.........................done: 108,376 bytes
install ok: channel://pear.phpunit.de/PHP_CodeCoverage-0.9.0
(include_path='.:/usr/bin/php')
Are you sure you added it to the include_path?
It might also help if we saw your ini file, and the include_path snippet in it...
I found it!
Looks like PEAR installed PHPUnit in /usr/share/pear. Not sure why but that's where it is. Must be a (mt) thing.
Anyway, I'm all set. Thanks for the help.
This is also what happens if you have an out-of-date or incomplete PHPUnit install. Please be aware that after you set up PEAR, you must add the PHPUnit.de channel in order to get an up-to-date package.
In my case, I solved it by adding /usr/share/php/PEAR to the include_path.
I'm using Ubuntu 10.04.2.
If you have problems with accessing components try another way.
Install pear
sudo apt-get install php-pear
Install phpunit by using pear.
pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit
Install phpunit/Selenium, but first you need to install curl module
sudo apt-get install php5-curl
pear install phpunit/PHPUnit_Selenium
I was having the same problem. Netbeans was reporting that the phpunit version was too old (which it wasn't). Running the phpunit script directly showed the above messages.
I solved it adding:
include_path=".:/usr/share/php"
To /etc/php5/cli/php.ini
Please NOTE that the php.ini file is the one for php CLI (command) not the php.ini used for apache!
My original problem was I could not get the command line version of php (yum install php or yum install php-cli) to upgrade to => php5.2.7 I was stuck on 5.1 version
I had already compiled php 5.3.3 for use with apache. So I setup a symbolic link from /usr/bin/php (the command line default) to my compiled version in /var/php5/bin/php to get the command line php reporting 5.3.3
Then I refollowed the pear install steps for phpunit
But it still needed the code coverage stuff when I ran phpunit.
So I hunted code coverage down under /var/php5/lib/php/PHP/CodeCoverage and added that to the include path in php.ini
include_path=".:/var/php5/lib/php/"
Make sure to add it to the include path without /PHP because phpunit starts at PHP/ (notice caps) looking for Code Coverage
Failed opening required 'PHP/CodeCoverage/Filter.php'
I had this problem . I was developing a zend framework site. Finally I manage to solve it by removing the zend installation and removing/commenting the include path in bath php.ini files in apache and cli. To develop site with zend we don't need to have zend installed. Insted we can copy the library to our site folder
For me dividing test's in multiple batches helped.
You can solve this issue by redefining the environment variables in PEAR.
This is how I solved the problem and I used Ubuntu 12.10
http://rkrants.blogspot.in/2013/01/installing-phpunitpear-in-ubuntu-1210.html
In short it defines the paths and then reinstalls phpunit
Ubuntu 12.04:
sudo pear channel-discover pear.symfony.com
sudo pear install --alldeps phpunit/PHPUnit
I had the same issue with Windows 8
Similar to the top answer, I needed to start the command line, however make sure to run cmd.exe as administrator. Then the two commands
pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit

Categories