错误代码需要安装CURL扩展

时间:2014-10-08 13:59:40

标签: curl laravel codeception laravel-5

好的我正在使用laravel 5浏览Larabook上的教程系列,并且我一直试图使用Codeception。我的laravel应用程序文件夹名称是“larabook”

从我的larabook文件夹运行vendor / bin / codecept正常工作,为我提供了选项列表。我然后初始化它,这是有效的。我按照指示创建了一个SignUpCept.php文件,并用以下内容填充它。

<?php 

$I = new FunctionalTester($scenario);
$I->am('a guest');
$I->wantTo('Sign up for a Larabook acount');

$I->amOnPage('/');
$I->click('Sign Up');
$I->seeCurrentUrlEquals('/register');

$I->fillField('Username:', 'JohnDoe');
$I->fillField('Email:', 'john@example.com');
$I->fillField('Password:', 'demo');
$I->fillField('Password Confirmation:', 'demo');
$I->click('Sign Up');

$I->seeCurrentUrlEquals('');
$I->see('Welcome to Larabook!');

但是当我运行“vendor / bin / codecept run functional”时,我收到以下错误..

[Exception]
Codeception requires CURL extension installed to make tests run.

现在,如果我键入curl --help,我会得到选项列表,这意味着它已正确安装,为什么会发生这种情况?我正在使用带有vagrant和virtualbox以及laravel 5的窗口。

我的“测试”文件夹位于我的larabook文件夹的根目录中,而我的codeception.yml文件就是这样。

actor: Tester
paths:
    tests: tests
    log: tests/_output
    data: tests/_data
    helpers: tests/_support
settings:
    bootstrap: _bootstrap.php
    colors: false
    memory_limit: 1024M
modules:
    config:
        Db:
            dsn: ''
            user: ''
            password: ''
            dump: tests/_data/dump.sql

我也正确地设置了.env.testing.php以及larabook的根目录。

3 个答案:

答案 0 :(得分:1)

就像@Alan曾经说的那样,如果你没有为php安装curl,在我遇到类似错误的情况下我只是用它安装它(在Ubuntu 15.10上)然后我的代码测试运行了

sudo apt-get install php5-curl

PS:如果您已经使用root权限,则不需要 sudo

答案 1 :(得分:0)

正在运行

$ curl --help 

表示系统上安装了unix命令行curl程序。

这也意味着系统上安装了unix curl库。

意味着您的PHP系统上安装了PHP curl扩展。

使用以下PHP代码

创建一个小测试文件
phpinfo();

它将列出PHP已安装的所有扩展。我的猜测是没有安装PHP curl扩展。

请记住,您使用的PHP命令行版本可能与您正在使用的PHP的Web版本不同。

答案 2 :(得分:0)

如果您使用的是phpbrew,则可以安装 curl 扩展程序:

phpbrew ext install curl

如果安装此库时出错:

sudo apt install libcurl4-openssl-dev

注意:此解决方案已在Ubuntu 16上进行了测试