我目前正在使用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
答案 0 :(得分:0)
我已经通过添加枪口依赖来解决问题:
composer req guzzlehttp/guzzle