Reputation: 9774
I'm on a Windows 7 machine running a WAMPserver and I'm trying to install the Selenium extension for PEAR. However, whenever I try to install it, I'm told that it requires the already-enabled PHP extension "curl":
pear install phpunit/PHPUnit_Selenium
Package "pear.phpunit.de/PHPUnit_Selenium" dependency "pear.phpunit.de/PHPUnit" has no releases
phpunit/PHPUnit_Selenium requires PHP extension "curl"
No valid packages found
install failed
So I go to check my php.ini file to see if it's enabled. Sure enough, there it is:
extension=php_apc.dll
;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
;extension=php_exif.dll
On this website, I was told to try this:
- If you are getting an error as “No valid packages found Install failed” then run the following command pear upgrade-all
But when I run that command, it just tells me Nothing to upgrade-all
.
After searching for my specific error, I found a PHP bug that mentions
The "curl" php extension needs to be loaded into php itself as an extension.
run this command
php -me
If "curl" is not listed as one of the [PHP Modules] it is not going to work.
And I'm not entirely sure how to load this "into php itself as an extension" on Windows. Is there an easy way to do this? Or to get PEAR to believe that I do have this installed?
EDIT
For the record, my curl extension is noticed by PHP (from php_info()):
cURL support enabled
cURL Information 7.20.0
Upvotes: 3
Views: 8009
Reputation: 61
I followed these answer above and I changed these files and is working correctly.
C:\wamp\bin\php\php5.3.13
C:\wamp\bin\apache\apache2.2.22\bin
Upvotes: 0
Reputation: 140
I had this problem on Ubuntu, and I solved it by running the following command,
sudo apt-get install php5-curl
Apparently there are two different curl packages (curl and php5-curl), the php5-curl one is for php.
Hope this could help
Upvotes: 6
Reputation: 1
when you change php.ini from wamp server even from php menu, it changes the apache version and it dose not effect the php at all. I changed them from file system and it works. :-)
Upvotes: 0
Reputation: 11
While working on WAMP there are two php.ini files
Make sure you have uncommented "extension=php_curl.dll"
in both files. You're good after editing both files and restarting your wamp server. The pear installer might be looking for the curl settings in the PHP path even though your wamp server is using the Apache version.
Upvotes: 1
Reputation: 1129
There needs to be changes made to two php.ini in different locations, for example:
Starting about line 950 you will see
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.
;
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_exif.dll
...
Change the ";extension=php_curl.dll" to "extension=php_curl.dll"
Restart your server and you should be ready to go.
Upvotes: 1
Reputation: 38961
In most cases I'd say that this comes from a php configuration issue.
The easiest way to check for this is to use php -i
and see if the curl extension shows up in the output. If it doesn't there is something wrong with the command line php. Chances are it's using the wrong php.ini
file. php --ini
can be used to check this
If you don't need the selenium module for phpunit there is a way of skipping the install of this package as it is an optional dependency.
pear install --onlyreqdeps phpunit/phpunit
should not install Selenium.
And just in case there is always one thing to try:
pear install --force --alldeps phpunit/phpunit
pear install --force phpunit/PHPUnit_Selenium
which might work if there is some issue that just pear is not picking the extension up but normal scripts are.
Upvotes: 12