docker - 无法将 docker url 与 PHP 单元连接

标签 docker phpunit docker-compose drupal-8

我可以使用以下路径在浏览器中访问我的网站:my-dash.docker.localhost:8000。另外,正如我发现的here为了通过 POSTMAN 访问该站点,我必须添加到我的主机文件中:

127.0.0.1 my-dash.docker.localhost

我更新了我的 phpunit.xml:

<env name="SIMPLETEST_BASE_URL" value="http://my-dash.docker.localhost:8000"/>

当我运行测试时,出现以下错误:

1) Drupal\my_dashboard\Tests\Rest\MyDashboardResourceTest::testPost
GuzzleHttp\Exception\ConnectException: cURL error 7: Failed to connect to my-dash.docker.localhost port 8000: Connection refused (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

/var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:186
/var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:150

我已验证,如果添加已知网址,则不会收到此错误:

<env name="SIMPLETEST_BASE_URL" value="https://www.google.com/"/>

最佳答案

我找到了答案here 。更新了 phpunit.xml:

<env name="SIMPLETEST_BASE_URL" value="http://nginx"/>

在我的例子中,我使用的是 Drupal,并且在我的 settings.php 中设置了受信任的主机。我还必须将 nginx 添加为可信主机。

关于docker - 无法将 docker url 与 PHP 单元连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44815659/

相关文章:

bash - Docker Alpine 以另一个用户身份执行命令

Docker 自动构建显示空的 Dockerfile

selenium - 如何断言当前 URL?

mysql - 我无法在docker compose中进行mysql php artisan迁移。错误SQLSTATE [HY000] [2002]

asp.net - Docker-Windows IIS镜像- 'Remove-Website'无法识别为内部或外部命令,

composer-php - 如何更新 phpunit 6 和代码覆盖率 5

php - 用于模拟由新类对象调用的方法的单元测试

reactjs - Create-React-App 未从 docker-compose.yml 读取环境变量

java - Docker CMD - 脚本路径

laravel - 如何使用docker-compose运行laravel应用程序?