PHPUnit - 调用未定义的函数curl_init()错误

3
我正在使用PHPUnit来单元测试我正在开发的Web应用程序中的一些PHP文件。我已经设置了一个WAMP服务器,并设置了我的php.ini文件以安装curl扩展。通过检查phpinfo(),我已验证它已安装,并且在页面上有一个curl配置部分,表明它已安装。
当我从索引页面开始运行整个Web应用程序时,我尝试测试的这个PHP页面可以正常找到curl_init()函数。
然而,当我对该文件运行单元测试时,它给我以下错误:
PHP Fatal error: Call to undefined function curl_init() in ...

正如我所说,调用curl_init()函数的文件在整个应用程序上下文中运行得很好,但是当它被我的PHPUnit测试单独运行时却无法找到它。有谁知道这是为什么?难道PHPUnit不知道如何找到安装在我的WAMP服务器上的PHP扩展吗?


你是从命令行调用吗?如果是的话,那就使用了另一个 php.ini 文件,可能不包含 cURL 库。 - Mārtiņš Briedis
3个回答

9

您需要将Curl库添加到命令行PHP.ini中。

您可以直接复制文件C:\wamp\bin\apache\Apache2.2.x\bin\php.inic:\wamp\bin\php\php5.3.10\php.ini(根据您系统上的实际目录进行调整)。


非常感谢!我不知道有两个不同的PHP.ini文件。结果我确实编辑了错误的文件,一旦我编辑了命令行PHP.ini文件以添加扩展,它就起作用了。谢谢! - dsw88

0

最新的php.ini文件将包含

;extension=curl

因此,请删除;并保存即可正常工作


0

打开你的 c:\wamp\bin\php\php5.x.x\php.ini 文件并找到:

    ;extension=php_curl.dll

只需删除分号即可取消注释,例如:

    extension=php_curl.dll

并保存文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接