-->

Installing the Framework (Problem cURL error 6: Co

2019-07-27 05:34发布

问题:

I tried to install api-platform: https://api-platform.com/docs/distribution/

after starting I see in the log "api-platform-242_cache-proxy_1"

│   Error:                                                                                                                                                                                                                                                    │
│   Message from VCC-compiler:                                                                                                                                                                                                                                │
│   Expected return action name.                                                                                                                                                                                                                              │
│   ('/usr/local/etc/varnish/default.vcl' Line 67 Pos 13)                                                                                                                                                                                                     │
│       return (miss);                                                                                                                                                                                                                                        │
│   ------------####--                                                                                                                                                                                                                                        │
│   Running VCC-compiler failed, exited with 2                                                                                                                                                                                                                │
│   VCL compilation failed  

If I use the api (post greeting), the response code is 500 "hydra:description": "cURL error 6: Could not resolve host: cache-proxy (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)", "trace": [

Nevertheless the entity is still inserted.

Furthermore I tried the api-platform without docker (Apache). I removed the line VARNISH_URL=http://cache-proxy in the .env file. Then the return code is 500 with "cURL error 3: malformed (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)"

Do you have any idea?

Kind regards Ludi

回答1:

Remove varnish from api_platform.yaml



回答2:

I believe you should remove or comment out VARNISH_URL=http://cache-proxy from .env file not from api_platform.yaml as your .env can change and is/should be host dependent and configuration (.yaml) should not.

See: https://symfony.com/doc/current/configuration.html#the-env-file-environment-variables

There is also a .env file which is loaded and its contents become environment variables. This is useful during development, or if setting environment variables is difficult for your deployment.

In api_platform.yaml you SHOULD comment out whole http_cache section or you will keep getting cURL errors about malformed from guzzle.

{ "@context": "/api-platform/api/public/contexts/Error", "@type": "hydra:Error", "hydra:title": "An error occurred", "hydra:description": "cURL error 3: <url> malformed (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)", "trace": [ { "namespace": "", "short_class": "", "class": "", "type": "", "function": "", "file": "...\\api-platform\\api\\vendor\\guzzlehttp\\guzzle\\src\\Handler\\CurlFactory.php", "line": 186, "args": [] },

Effect is the same.



回答3:

I had the same problem, and I resolved it!

As specified here: https://github.com/api-platform/api-platform/issues/777, the problem is the directories/files rights, so instead of downloading the zip or tar.gz archive, I cloned the repo,

All commands I made (after installing Docker for Windows and enabling Shared Drives in Docker for Windows settings):

cd my_parent_directory
git clone https://github.com/api-platform/api-platform.git
cd api-platform
docker-compose pull
docker-compose up -d

And when I go on https://localhost:8443 all work!!

I hope this helps you :)