PHPUnit无法识别cURL扩展 - 无法安装selenium测试

Ian*_*ter 3 selenium pear phpunit curl wamp

我在运行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
Run Code Online (Sandbox Code Playgroud)

所以我去检查我的php.ini文件,看它是否已启用.果然,它是:

extension=php_apc.dll
;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
;extension=php_exif.dll
Run Code Online (Sandbox Code Playgroud)

这个网站上,我被告知试试这个:

  1. 如果您收到"未找到有效软件包安装失败"的错误,请运行以下命令pear upgrade-all

但是当我运行那个命令时,它只是告诉我Nothing to upgrade-all.

在搜索我的特定错误后,我发现了一个提到PHP错误

"curl"php扩展需要作为扩展加载到php本身.

运行此命令

php -me

如果"curl"未被列为[PHP模块]之一,则无法正常工作.

而且我不完全确定如何在Windows上将此"加载到php本身作为扩展".是否有捷径可寻?或者让PEAR相信我确实安装了这个?

编辑

为了记录在案,我的curl扩展通过PHP注意到(从php_info()):

cURL support    enabled
cURL Information    7.20.0
Run Code Online (Sandbox Code Playgroud)

edo*_*ian 12

在大多数情况下,我会说这来自php配置问题.

检查此问题的最简单方法是使用php -i并查看卷曲扩展是否显示在输出中.如果没有,命令行php有问题.有可能是使用了错误的php.ini文件.php --ini可以用来检查这个


但是可能存在这样的情况:由于某种原因,人们不希望或不能启用卷曲扩展,因此我将其作为答案:

如果没有需要为PHPUnit的硒模块有跳绳,因为它是一个可选的依赖安装该软件包的一种方式.

pear install --onlyreqdeps phpunit/phpunit 
Run Code Online (Sandbox Code Playgroud)

不应该安装Selenium.

以防万一总有一件事要尝试:

pear install --force --alldeps phpunit/phpunit
Run Code Online (Sandbox Code Playgroud)

要告诉梨注意关于卷曲延伸不被识别的关注,有:

pear install --force phpunit/PHPUnit_Selenium
Run Code Online (Sandbox Code Playgroud)

这可能有用,如果有一些问题只是梨没有选择扩展,但正常的脚本是.


RHE*_*RHE 6

我在Ubuntu上遇到了这个问题,我通过运行以下命令解决了这个问题,

sudo apt-get install php5-curl

显然有两个不同的卷曲包(curl和php5-curl),php5-curl一个用于php.

希望这可以帮助