Symfony + API平台:所有帖子请求均出现错误500(突然出现)

时间:2019-05-23 14:05:02

标签: symfony runtime-error api-platform.com

我目前正在使用Symfony和API_Platform开发API。

一切都很好(POST请求正在运行),但是突然我无法发出任何POST请求(即使使用EasyAdmin捆绑包也是如此)。

我正在获取此日志:

2019-05-23T13:51:05+00:00 [critical] Class 'GuzzleHttp\Client' not found
[Thu May 23 15:51:05 2019] 127.0.0.1:54351 [500]: /api/authors - Class 'Symfony\Component\BrowserKit\Client' not found in D:\projects\hp-api-2\vendor\symfony\http-kernel\Client.php on line 31
2019-05-23T13:51:05+00:00 [critical] Fatal Error: Class 'Symfony\Component\BrowserKit\Client' not found

我试图同时使用两个捆绑软件,但是并没有解决我的错误。

我创建了另一个API项目,并进行了2天的工作,并且同样的错误无缘无故地再次出现。

我完全迷失了这个。

我正在将Wamp用于PHP / MySQL。但是我不认为这是问题所在,因为它以前运行良好。

这是我的依赖项:

"require": {
        "php": "~7.2.3",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "api-platform/api-pack": "^1.2",
        "doctrine/doctrine-migrations-bundle": "^2.0",
        "easycorp/easyadmin-bundle": "^2.1",
        "symfony/apache-pack": "^1.0",
        "symfony/console": "4.2.*",
        "symfony/dotenv": "4.2.*",
        "symfony/flex": "^1.1",
        "symfony/framework-bundle": "4.2.*",
        "symfony/maker-bundle": "^1.11",
        "symfony/yaml": "4.2.*"
    },
    "require-dev": {
        "symfony/profiler-pack": "^1.0",
        "symfony/web-server-bundle": "4.2.*"
    }

当我需要symfony / browser-kit --dev时,我得到了:

2019-05-23T13:57:34+00:00 [critical] Class 'GuzzleHttp\Client' not found
2019-05-23T13:57:35+00:00 [critical] Uncaught PHP Exception Symfony\Component\Debug\Exception\ClassNotFoundException: "Attempted to load class "Client" from namespace "GuzzleHttp".
Did you forget a "use" statement for e.g. "Symfony\Component\HttpKernel\Client", "Symfony\Component\BrowserKit\Client" or "Symfony\Bundle\FrameworkBundle\Client"?" at D:\projects\hp-api-2\var\cache\dev\ContainerDsBBqcY\getApiPlatform_Doctrine_Listener_HttpCache_PurgeService.php line 13

如果我需要guzzlehttp / guzzle --dev,我会得到:

2019-05-23T14:01:32+00:00 [critical] Uncaught PHP Exception Symfony\Component\DependencyInjection\Exception\EnvNotFoundException: "Environment variable not found: "VARNISH_URL"." at D:\projects\hp-api-2\vendor\symfony\dependency-injection\EnvVarProcessor.php line 96

我根本没有配置缓存系统,这是默认设置。

如果您需要更多信息,请随时询问。

请原谅我犯了英语错误。

谢谢。

Antoine

编辑:我尝试不对我的php / mysql使用wamp,现在当我发出发布请求时,我收到了Symfony的一些错误消息(我之前没有):

Symfony\Component\Debug\Exception\FatalErrorException:
Error: Uncaught Error: Class 'Symfony\Component\BrowserKit\Client' not found in D:\projects\hp-api-2\vendor\symfony\http-kernel\Client.php:31
Stack trace:
#0 D:\projects\hp-api-2\vendor\symfony\debug\FatalErrorHandler\ClassNotFoundFatalErrorHandler.php(174): require_once()
#1 D:\projects\hp-api-2\vendor\symfony\debug\FatalErrorHandler\ClassNotFoundFatalErrorHandler.php(136): Symfony\Component\Debug\FatalErrorHandler\ClassNotFoundFatalErrorHandler->convertFileToClass('D:\\projects\\hp-...', 'D:\\projects\\hp-...', 'Symfony\\Compone...')
#2 D:\projects\hp-api-2\vendor\symfony\debug\FatalErrorHandler\ClassNotFoundFatalErrorHandler.php(118): Symfony\Component\Debug\FatalErrorHandler\ClassNotFoundFatalErrorHandler->findClassInPath('D:\\projects\\hp-...', 'Client', 'Symfony\\Compone...')
#3 D:\projects\hp-api-2\vendor\symfony\debug\FatalErrorHandler\ClassNotFoundFatalErrorHandler.php(62): Symfony\Component\Debug\FatalErrorHandler\ClassNotFoundFatalErrorHandler->getClassCandidates('Client')
#4 D:\projects\hp-api-2\vendor\s

  at vendor/symfony/http-kernel/Client.php:31

编辑2:我通过同时要求两个捆绑软件+禁用清漆网址来“解决”我的问题

api_platform:
    version: 0.0.1

    mapping:
        # paths: ['%kernel.project_dir%/src/Entity']
        paths: ['%kernel.project_dir%/config/api_platform/resources'] 

    http_cache:
        invalidation:
            enabled: true
            # varnish_urls: ['%env(VARNISH_URL)%'] ## this problem still needs to be fixed
        max_age: 0
        shared_max_age: 3600
        vary: ['Content-Type', 'Authorization']
        public: true

1 个答案:

答案 0 :(得分:0)

我已经通过添加枪口依赖来解决问题:

composer req guzzlehttp/guzzle