" cURL错误7:无法连接到127.0.0.1端口8888:连接被拒绝"使用Travis CI和Laravel / Codeception时

时间:2018-04-11 12:12:03

标签: travis-ci

我使用带有Codeception的Laravel 5.6进行验收测试,并且这种情况一直在发生:

1) TestCest: Home
 Test  tests/acceptance/TestCest.php:home

  [GuzzleHttp\Exception\ConnectException] cURL error 7: Failed to connect to 127.0.0.1 port 8888: Connection refused (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)  

Scenario Steps:
 1. $I->amOnPage("/") at tests/acceptance/TestCest.php:6

很少似乎是随机工作,但大多数情况下它都是错误的。我花了一段时间在这上面,并希望永久修复。

一些相关文件:

.travis.yml

language: php
sudo: false
dist: trusty
cache: false

php:
  - 7.2.3

services:
  - mysql

before_install:
  - mysql -e 'CREATE DATABASE IF NOT EXISTS test;'

install:
  - cp .env.travis .env
  - composer self-update
  - composer install --no-interaction
  - npm i -g npm
  - npm install

before_script:
  - php artisan key:generate
  - php artisan migrate --no-interaction -vvv
  - php artisan serve --env=testing --no-ansi --no-interaction --port=8888 --host=localhost &

script:
  - vendor/bin/codecept run acceptance --no-ansi --no-interaction

.env.travis

APP_NAME=Laravel
APP_ENV=testing
APP_KEY=base64:dHJA2G0xXnUEP82ota/J4WBnXSYGP9VHRBl6fvclfjk=
APP_DEBUG=true
APP_URL=http://localhost:8888

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

2 个答案:

答案 0 :(得分:0)

OP解决方案。

我替换了

php artisan serve --env=testing --no-ansi --no-interaction --port=8888 --host=localhost &

php -S 0.0.0.0:8888 -t ./public/ &

答案 1 :(得分:0)

当我使用CURL时,我对Vanilla(Core)PHP也有类似的问题。我的代码正在连接到本地网络中的另一台计算机。

CURL代码正确,并且没有问题。

经常出现此错误: 无法连接到127.0.0.1端口8888:连接被拒绝

解决此问题的方法是在计算机上的Apache上打开端口 8888 。由于我使用的是 Ubuntu 16.04 ,因此我在文件中执行了此操作:

/etc/apache2/ports.conf

在这里,我已将以下行添加到端口文件:

Listen 8888

此后,我重新启动了Apache:

sudo service apache2 restart