我在运行WAMP服务器的Windows 7计算机上,我正在尝试为PEAR安装Selenium扩展。但是,每当我尝试安装它时,我都被告知它需要已经启用的PHP扩展“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
所以我去检查我的php.ini文件,看它是否已启用。果然,它就是:
extension=php_apc.dll
;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
;extension=php_exif.dll
在this website,有人告诉我试试这个:
- 如果您收到“未找到有效软件包安装失败”的错误,请运行以下命令pear upgrade-all
醇>
但是当我运行该命令时,它只是告诉我Nothing to upgrade-all
。
在搜索到我的特定错误后,我找到了PHP bug that mentions
“curl”php扩展需要作为一个加载到php本身 扩展
运行此命令
php -me
如果“curl”未被列为[PHP模块]之一,则不会 工作
我并不完全确定如何在Windows上将此“加载到php本身作为扩展”。是否有捷径可寻?或者让PEAR相信我做安装了这个?
修改
为了记录,PHP注意到我的curl扩展名 (来自php_info()):
cURL support enabled
cURL Information 7.20.0
答案 0 :(得分:12)
在大多数情况下,我会说这是来自php配置问题。
检查此问题的最简单方法是使用php -i
并查看卷曲扩展名是否显示在输出中。如果它没有命令行php有问题。有可能使用了错误的php.ini
文件。 php --ini
可用于检查此
如果你没有需要 phpunit的selenium模块,有一种方法可以跳过此软件包的安装,因为它是一个可选的依赖项。
pear install --onlyreqdeps phpunit/phpunit
不应安装Selenium。
以防万一总有一件事要尝试:
pear install --force --alldeps phpunit/phpunit
pear install --force phpunit/PHPUnit_Selenium
如果有一些问题只是梨没有选择扩展但正常的脚本是可能的话。
答案 1 :(得分:6)
我在Ubuntu上遇到了这个问题,我通过运行以下命令解决了这个问题,
sudo apt-get install php5-curl
显然有两个不同的卷曲包(curl和php5-curl),php5-curl一个用于php。
希望这可以提供帮助
答案 2 :(得分:1)
在使用WAMP时,有两个php.ini文件
确保您在两个文件中都取消注释"extension=php_curl.dll"
。编辑完两个文件并重新启动wamp服务器后,您就会很好。即使您的wamp服务器使用的是Apache版本,pear安装程序也可能会在PHP路径中查找curl设置。
答案 3 :(得分:1)
需要对两个不同位置的php.ini进行更改,例如:
从第950行开始,您将看到
; 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
...
将“; extension = php_curl.dll”更改为“extension = php_curl.dll”
重新启动服务器,您应该准备好了。
答案 4 :(得分:0)
当您从wamp服务器甚至从php菜单更改php.ini时,它会更改apache版本,它根本不会影响php。我从文件系统更改了它们,它的工作原理。 : - )
答案 5 :(得分:0)
我按照上面的回答更改了这些文件并且工作正常。
C:\wamp\bin\php\php5.3.13
C:\wamp\bin\apache\apache2.2.22\bin