Symfony Exception

HttpException

HTTP 500 Internal Server Error

Request access_token fail: {"errcode":40164,"errmsg":"invalid ip 113.219.240.134 ipv6 ::ffff:113.219.240.134, not in whitelist rid: 6740fcfe-2a234ca2-6cbd4fa8"}

Exception

EasyWeChat\Kernel\Exceptions\ HttpException

  1.         $response $this->sendRequest($credentials);
  2.         $result json_decode($response->getBody()->getContents(), true);
  3.         $formatted $this->castResponseToType($response$this->app['config']->get('response_type'));
  4.         if (empty($result[$this->tokenKey])) {
  5.             throw new HttpException('Request access_token fail: '.json_encode($resultJSON_UNESCAPED_UNICODE), $response$formatted);
  6.         }
  7.         return $toArray $result $formatted;
  8.     }
  1.         if (!$refresh && $cache->has($cacheKey) && $result $cache->get($cacheKey)) {
  2.             return $result;
  3.         }
  4.         /** @var array $token */
  5.         $token $this->requestToken($this->getCredentials(), true);
  6.         $this->setToken($token[$this->tokenKey], $token['expires_in'] ?? 7200);
  7.         $this->token $token;
  1.      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
  2.      * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
  3.      */
  4.     protected function getQuery(): array
  5.     {
  6.         return [$this->queryName ?? $this->tokenKey => $this->getToken()[$this->tokenKey]];
  7.     }
  8.     /**
  9.      * @return string
  10.      *
  1.      */
  2.     public function applyToRequest(RequestInterface $request, array $requestOptions = []): RequestInterface
  3.     {
  4.         parse_str($request->getUri()->getQuery(), $query);
  5.         $query http_build_query(array_merge($this->getQuery(), $query));
  6.         return $request->withUri($request->getUri()->withQuery($query));
  7.     }
  8.     /**
  1.     protected function accessTokenMiddleware()
  2.     {
  3.         return function (callable $handler) {
  4.             return function (RequestInterface $request, array $options) use ($handler) {
  5.                 if ($this->accessToken) {
  6.                     $request $this->accessToken->applyToRequest($request$options);
  7.                 }
  8.                 return $handler($request$options);
  9.             };
  10.         };
  1.             $options['retries'] = 0;
  2.         }
  3.         $fn $this->nextHandler;
  4.         return $fn($request$options)
  5.             ->then(
  6.                 $this->onFulfilled($request$options),
  7.                 $this->onRejected($request$options)
  8.             );
  9.     }
  1.         }
  2.         // Add the expect header if needed.
  3.         $this->addExpectHeader($request$options$modify);
  4.         return $fn(Psr7\Utils::modifyRequest($request$modify), $options);
  5.     }
  6.     /**
  7.      * Add expect header
  8.      */
  1.     public static function cookies(): callable
  2.     {
  3.         return static function (callable $handler): callable {
  4.             return static function ($request, array $options) use ($handler) {
  5.                 if (empty($options['cookies'])) {
  6.                     return $handler($request$options);
  7.                 } elseif (!($options['cookies'] instanceof CookieJarInterface)) {
  8.                     throw new \InvalidArgumentException('cookies must be an instance of GuzzleHttp\Cookie\CookieJarInterface');
  9.                 }
  10.                 $cookieJar $options['cookies'];
  11.                 $request $cookieJar->withCookieHeader($request);
  1.         if (empty($options['allow_redirects']['max'])) {
  2.             return $fn($request$options);
  3.         }
  4.         return $fn($request$options)
  5.             ->then(function (ResponseInterface $response) use ($request$options) {
  6.                 return $this->checkRedirect($request$options$response);
  7.             });
  8.     }
  1.             return static function ($request, array $options) use ($handler$bodySummarizer) {
  2.                 if (empty($options['http_errors'])) {
  3.                     return $handler($request$options);
  4.                 }
  5.                 return $handler($request$options)->then(
  6.                     static function (ResponseInterface $response) use ($request$bodySummarizer) {
  7.                         $code $response->getStatusCode();
  8.                         if ($code 400) {
  9.                             return $response;
  10.                         }
  1.      */
  2.     public function __invoke(RequestInterface $request, array $options)
  3.     {
  4.         $handler $this->resolve();
  5.         return $handler($request$options);
  6.     }
  7.     /**
  8.      * Dumps a string representation of the stack.
  9.      *
  1.         $request $this->applyOptions($request$options);
  2.         /** @var HandlerStack $handler */
  3.         $handler $options['handler'];
  4.         try {
  5.             return P\Create::promiseFor($handler($request$options));
  6.         } catch (\Exception $e) {
  7.             return P\Create::rejectionFor($e);
  8.         }
  9.     }
  1.         }
  2.         $request = new Psr7\Request($method$uri$headers$body$version);
  3.         // Remove the option so that they are not doubly-applied.
  4.         unset($options['headers'], $options['body'], $options['version']);
  5.         return $this->transfer($request$options);
  6.     }
  7.     /**
  8.      * Create and send an HTTP request.
  9.      *
  1.      */
  2.     public function request(string $method$uri '', array $options = []): ResponseInterface
  3.     {
  4.         $options[RequestOptions::SYNCHRONOUS] = true;
  5.         return $this->requestAsync($method$uri$options)->wait();
  6.     }
  7.     /**
  8.      * Get a client configuration option.
  9.      *
  1.         if (property_exists($this'baseUri') && !is_null($this->baseUri)) {
  2.             $options['base_uri'] = $this->baseUri;
  3.         }
  4.         $response $this->getHttpClient()->request($method$url$options);
  5.         $response->getBody()->rewind();
  6.         return $response;
  7.     }
  1.     {
  2.         if (empty($this->middlewares)) {
  3.             $this->registerHttpMiddlewares();
  4.         }
  5.         $response $this->performRequest($url$method$options);
  6.         $this->app->events->dispatch(new Events\HttpResponseCreated($response));
  7.         return $returnRaw $response $this->castResponseToType($response$this->app->config->get('response_type'));
  8.     }
  1.      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
  2.      * @throws \GuzzleHttp\Exception\GuzzleException
  3.      */
  4.     public function requestRaw(string $urlstring $method 'GET', array $options = [])
  5.     {
  6.         return Response::buildFromPsrResponse($this->request($url$method$optionstrue));
  7.     }
  8.     /**
  9.      * Register Guzzle middlewares.
  10.      */
  1.      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
  2.      * @throws \GuzzleHttp\Exception\GuzzleException
  3.      */
  4.     protected function getStream(string $endpoint, array $params)
  5.     {
  6.         $response $this->requestRaw($endpoint'POST', ['json' => $params]);
  7.         if (false !== stripos($response->getHeaderLine('Content-disposition'), 'attachment')) {
  8.             return StreamResponse::buildFromPsrResponse($response);
  9.         }
  1.     {
  2.         $params array_merge([
  3.             'scene' => $scene,
  4.         ], $optional);
  5.         return $this->getStream('wxa/getwxacodeunlimit'$params);
  6.     }
  7.     /**
  8.      * Create QrCode.
  9.      *
Client->getUnlimit('share_id=6740fcfe1c98b-0', array('page' => 'pages/item/espier-detail', 'width' => 430, 'auto_color' => true, 'line_color' => null)) in /data/httpd/ecshopx-api/src/WechatBundle/Services/WeappService.php (line 460)
  1.         if ($lineColor) {
  2.             $data['auto_color'] = false;
  3.         }
  4.         //秀屏二维码新增xp参数
  5. //        $data['env_version'] = 'develop';
  6.         return $this->wxa->app_code->getUnlimit($scene$data);
  7.     }
  8.     /**
  9.      * 为授权的小程序帐号上传小程序代码
  10.      *
WeappService->createWxaCodeUnlimit('share_id=6740fcfe1c98b-0', 'pages/item/espier-detail') in /data/httpd/ecshopx-api/src/WechatBundle/Http/Controllers/Qrcode.php (line 63)
  1.         $uid $input['dtUserId'] ?? $uid;//如果传了dtUserId则拿dtUserId
  2.         $share_id $share_id."-{$uid}";
  3.         $scene http_build_query(['share_id' => $share_id]);//
  4.         $qrcode $weappService->createWxaCodeUnlimit($scene$page);
  5.         return Response($qrcode)->header('Content-type''image/png');
  6.     }
  7.     public function getQrcodeXp(Request $request)
  8.     {
  1.         if (static::isCallableWithAtSign($callback) || $defaultMethod) {
  2.             return static::callClass($container$callback$parameters$defaultMethod);
  3.         }
  4.         return static::callBoundMethod($container$callback, function () use ($container$callback$parameters) {
  5.             return $callback(...array_values(static::getMethodDependencies($container$callback$parameters)));
  6.         });
  7.     }
  8.     /**
  9.      * Call a string reference to a class using Class@method syntax.
in /data/httpd/ecshopx-api/vendor/illuminate/container/Util.php :: Illuminate\Container\{closure} (line 40)
  1.      * @param  mixed  $value
  2.      * @return mixed
  3.      */
  4.     public static function unwrapIfClosure($value)
  5.     {
  6.         return $value instanceof Closure $value() : $value;
  7.     }
  8.     /**
  9.      * Get the class name of the given parameter's type, if possible.
  10.      *
  1.         if ($container->hasMethodBinding($method)) {
  2.             return $container->callMethodBinding($method$callback[0]);
  3.         }
  4.         return Util::unwrapIfClosure($default);
  5.     }
  6.     /**
  7.      * Normalize the given callback into a Class@method string.
  8.      *
  1.             return static::callClass($container$callback$parameters$defaultMethod);
  2.         }
  3.         return static::callBoundMethod($container$callback, function () use ($container$callback$parameters) {
  4.             return $callback(...array_values(static::getMethodDependencies($container$callback$parameters)));
  5.         });
  6.     }
  7.     /**
  8.      * Call a string reference to a class using Class@method syntax.
  9.      *
  1.      *
  2.      * @throws \InvalidArgumentException
  3.      */
  4.     public function call($callback, array $parameters = [], $defaultMethod null)
  5.     {
  6.         return BoundMethod::call($this$callback$parameters$defaultMethod);
  7.     }
  8.     /**
  9.      * Get a closure to resolve the given type from the container.
  10.      *
  1.      */
  2.     protected function callControllerCallable(callable $callable, array $parameters = [])
  3.     {
  4.         try {
  5.             return $this->prepareResponse(
  6.                 $this->call($callable$parameters)
  7.             );
  8.         } catch (HttpResponseException $e) {
  9.             return $e->getResponse();
  10.         }
  11.     }
  1.             return $this->callLumenControllerWithMiddleware(
  2.                 $instance$method$routeInfo$middleware
  3.             );
  4.         } else {
  5.             return $this->callControllerCallable(
  6.                 [$instance$method], $routeInfo[2]
  7.             );
  8.         }
  9.     }
  10.     /**
  1.         if (! method_exists($instance $this->make($controller), $method)) {
  2.             throw new NotFoundHttpException;
  3.         }
  4.         if ($instance instanceof LumenController) {
  5.             return $this->callLumenController($instance$method$routeInfo);
  6.         } else {
  7.             return $this->callControllerCallable(
  8.                 [$instance$method], $routeInfo[2]
  9.             );
  10.         }
  1.     protected function callActionOnArrayBasedRoute($routeInfo)
  2.     {
  3.         $action $routeInfo[1];
  4.         if (isset($action['uses'])) {
  5.             return $this->prepareResponse($this->callControllerAction($routeInfo));
  6.         }
  7.         foreach ($action as $value) {
  8.             if ($value instanceof Closure) {
  9.                 $callable $value->bindTo(new RoutingClosure);
  1.                 return $this->callActionOnArrayBasedRoute($this['request']->route());
  2.             }));
  3.         }
  4.         return $this->prepareResponse(
  5.             $this->callActionOnArrayBasedRoute($routeInfo)
  6.         );
  7.     }
  8.     /**
  9.      * Call the Closure or invokable on the array based route.
  1.             return $this->sendThroughPipeline($this->middleware, function ($request) use ($method$pathInfo) {
  2.                 $this->instance(Request::class, $request);
  3.                 if (isset($this->router->getRoutes()[$method.$pathInfo])) {
  4.                     return $this->handleFoundRoute([true$this->router->getRoutes()[$method.$pathInfo]['action'], []]);
  5.                 }
  6.                 return $this->handleDispatcherResponse(
  7.                     $this->createDispatcher()->dispatch($method$pathInfo)
  8.                 );
  1.                 ->send($this->make('request'))
  2.                 ->through($middleware)
  3.                 ->then($then);
  4.         }
  5.         return $then($this->make('request'));
  6.     }
  7.     /**
  8.      * Prepare the response for sending.
  9.      *
  1.                 }
  2.                 return $this->handleDispatcherResponse(
  3.                     $this->createDispatcher()->dispatch($method$pathInfo)
  4.                 );
  5.             });
  6.         } catch (Throwable $e) {
  7.             return $this->prepareResponse($this->sendExceptionToHandler($e));
  8.         }
  9.     }
Application->dispatch(object(Request)) in /data/httpd/ecshopx-api/app/AppKernel.php (line 73)
  1.         }
  2.     }
  3.     public function directDispatch($request null)
  4.     {
  5.         return parent::dispatch($request);
  6.     }
  7. }
AppKernel->directDispatch(object(Request)) in /data/httpd/ecshopx-api/app/AppKernel.php (line 55)
  1.         try {
  2.             $this->boot();
  3.             $response $dingoRequest->handle($this['request'], function($request) {
  4.                 // 当api路由找不到时
  5.                 return $this->directDispatch($request);
  6.             });
  7.             // 统一http响应状态码
  8.             $statusCode $response->getStatusCode();
  9.             if ($statusCode != 200 && $statusCode != 401) {
  10.                 $response->setStatusCode(200);
  1.             $this->exception->report($exception);
  2.             return $this->exception->handle($exception);
  3.         }
  4.         return $next($request);
  5.     }
  6.     /**
  7.      * Send the request through the Dingo router.
  8.      *
Request->handle(object(Request), object(Closure)) in /data/httpd/ecshopx-api/app/AppKernel.php (line 56)
  1.         try {
  2.             $this->boot();
  3.             $response $dingoRequest->handle($this['request'], function($request) {
  4.                 // 当api路由找不到时
  5.                 return $this->directDispatch($request);
  6.             });
  7.             // 统一http响应状态码
  8.             $statusCode $response->getStatusCode();
  9.             if ($statusCode != 200 && $statusCode != 401) {
  10.                 $response->setStatusCode(200);
  11.             }
  1.      * @param  \Symfony\Component\HttpFoundation\Request|null  $request
  2.      * @return void
  3.      */
  4.     public function run($request null)
  5.     {
  6.         $response $this->dispatch($request);
  7.         if ($response instanceof SymfonyResponse) {
  8.             $response->send();
  9.         } else {
  10.             echo (string) $response;
Application->run() in /data/httpd/ecshopx-api/public/index.php (line 31)
  1. | the client's browser allowing them to enjoy the creative
  2. | and wonderful application we have prepared for them.
  3. |
  4. */
  5. $app->run();
  6. // 结束分析
  7. # $xhprof_data = xhprof_disable();
  8. # $XHPROF_ROOT = realpath(dirname(__FILE__) .'/..');
  9. # include_once $XHPROF_ROOT . "/xhprof/xhprof_lib/utils/xhprof_lib.php";

Stack Trace

HttpException
EasyWeChat\Kernel\Exceptions\HttpException:
Request access_token fail: {"errcode":40164,"errmsg":"invalid ip 113.219.240.134 ipv6 ::ffff:113.219.240.134, not in whitelist rid: 6740fcfe-2a234ca2-6cbd4fa8"}

  at /data/httpd/ecshopx-api/vendor/w7corp/easywechat/src/Kernel/AccessToken.php:186
  at EasyWeChat\Kernel\AccessToken->requestToken(array('grant_type' => 'client_credential', 'appid' => 'wxb9a69be6d8017b9a', 'secret' => '29e17f308924da997e708c1b0252b47a'), true)
     (/data/httpd/ecshopx-api/vendor/w7corp/easywechat/src/Kernel/AccessToken.php:118)
  at EasyWeChat\Kernel\AccessToken->getToken()
     (/data/httpd/ecshopx-api/vendor/w7corp/easywechat/src/Kernel/AccessToken.php:253)
  at EasyWeChat\Kernel\AccessToken->getQuery()
     (/data/httpd/ecshopx-api/vendor/w7corp/easywechat/src/Kernel/AccessToken.php:208)
  at EasyWeChat\Kernel\AccessToken->applyToRequest(object(Request), array('curl' => array(1), 'handler' => object(HandlerStack), 'synchronous' => true, 'timeout' => 20.0, 'base_uri' => object(Uri), 'max_retries' => 1, 'retry_delay' => 500, 'allow_redirects' => array('max' => 5, 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false, 'idn_conversion' => false, 'retries' => 0))
     (/data/httpd/ecshopx-api/vendor/w7corp/easywechat/src/Kernel/BaseClient.php:233)
  at EasyWeChat\Kernel\BaseClient->EasyWeChat\Kernel\{closure}(object(Request), array('curl' => array(1), 'handler' => object(HandlerStack), 'synchronous' => true, 'timeout' => 20.0, 'base_uri' => object(Uri), 'max_retries' => 1, 'retry_delay' => 500, 'allow_redirects' => array('max' => 5, 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false, 'idn_conversion' => false, 'retries' => 0))
     (/data/httpd/ecshopx-api/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php:68)
  at GuzzleHttp\RetryMiddleware->__invoke(object(Request), array('curl' => array(1), 'handler' => object(HandlerStack), 'synchronous' => true, 'timeout' => 20.0, 'base_uri' => object(Uri), 'max_retries' => 1, 'retry_delay' => 500, 'allow_redirects' => array('max' => 5, 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false, 'idn_conversion' => false, 'retries' => 0))
     (/data/httpd/ecshopx-api/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php:64)
  at GuzzleHttp\PrepareBodyMiddleware->__invoke(object(Request), array('curl' => array(1), 'handler' => object(HandlerStack), 'synchronous' => true, 'timeout' => 20.0, 'base_uri' => object(Uri), 'max_retries' => 1, 'retry_delay' => 500, 'allow_redirects' => array('max' => 5, 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false, 'idn_conversion' => false))
     (/data/httpd/ecshopx-api/vendor/guzzlehttp/guzzle/src/Middleware.php:31)
  at GuzzleHttp\Middleware::GuzzleHttp\{closure}(object(Request), array('curl' => array(1), 'handler' => object(HandlerStack), 'synchronous' => true, 'timeout' => 20.0, 'base_uri' => object(Uri), 'max_retries' => 1, 'retry_delay' => 500, 'allow_redirects' => array('max' => 5, 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false, 'idn_conversion' => false))
     (/data/httpd/ecshopx-api/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php:71)
  at GuzzleHttp\RedirectMiddleware->__invoke(object(Request), array('curl' => array(1), 'handler' => object(HandlerStack), 'synchronous' => true, 'timeout' => 20.0, 'base_uri' => object(Uri), 'max_retries' => 1, 'retry_delay' => 500, 'allow_redirects' => array('max' => 5, 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false, 'idn_conversion' => false))
     (/data/httpd/ecshopx-api/vendor/guzzlehttp/guzzle/src/Middleware.php:66)
  at GuzzleHttp\Middleware::GuzzleHttp\{closure}(object(Request), array('curl' => array(1), 'handler' => object(HandlerStack), 'synchronous' => true, 'timeout' => 20.0, 'base_uri' => object(Uri), 'max_retries' => 1, 'retry_delay' => 500, 'allow_redirects' => array('max' => 5, 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false, 'idn_conversion' => false))
     (/data/httpd/ecshopx-api/vendor/guzzlehttp/guzzle/src/HandlerStack.php:75)
  at GuzzleHttp\HandlerStack->__invoke(object(Request), array('curl' => array(1), 'handler' => object(HandlerStack), 'synchronous' => true, 'timeout' => 20.0, 'base_uri' => object(Uri), 'max_retries' => 1, 'retry_delay' => 500, 'allow_redirects' => array('max' => 5, 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false, 'idn_conversion' => false))
     (/data/httpd/ecshopx-api/vendor/guzzlehttp/guzzle/src/Client.php:333)
  at GuzzleHttp\Client->transfer(object(Request), array('curl' => array(1), 'handler' => object(HandlerStack), 'synchronous' => true, 'timeout' => 20.0, 'base_uri' => object(Uri), 'max_retries' => 1, 'retry_delay' => 500, 'allow_redirects' => array('max' => 5, 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false, 'idn_conversion' => false))
     (/data/httpd/ecshopx-api/vendor/guzzlehttp/guzzle/src/Client.php:169)
  at GuzzleHttp\Client->requestAsync('POST', object(Uri), array('curl' => array(1), 'handler' => object(HandlerStack), 'synchronous' => true, 'timeout' => 20.0, 'base_uri' => object(Uri), 'max_retries' => 1, 'retry_delay' => 500, 'allow_redirects' => array('max' => 5, 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false, 'idn_conversion' => false, '_conditional' => array('User-Agent' => 'GuzzleHttp/7')))
     (/data/httpd/ecshopx-api/vendor/guzzlehttp/guzzle/src/Client.php:189)
  at GuzzleHttp\Client->request('POST', 'wxa/getwxacodeunlimit', array('curl' => array(1), 'handler' => object(HandlerStack), 'headers' => array('Content-Type' => 'application/json'), 'body' => '{"scene":"share_id=6740fcfe1c98b-0","page":"pages\\/item\\/espier-detail","width":430,"auto_color":true,"line_color":null}', 'synchronous' => true))
     (/data/httpd/ecshopx-api/vendor/w7corp/easywechat/src/Kernel/Traits/HasHttpRequests.php:156)
  at EasyWeChat\Kernel\BaseClient->performRequest('wxa/getwxacodeunlimit', 'POST', array('curl' => array(1), 'handler' => object(HandlerStack), 'headers' => array('Content-Type' => 'application/json'), 'body' => '{"scene":"share_id=6740fcfe1c98b-0","page":"pages\\/item\\/espier-detail","width":430,"auto_color":true,"line_color":null}'))
     (/data/httpd/ecshopx-api/vendor/w7corp/easywechat/src/Kernel/BaseClient.php:188)
  at EasyWeChat\Kernel\BaseClient->request('wxa/getwxacodeunlimit', 'POST', array('json' => array('scene' => 'share_id=6740fcfe1c98b-0', 'page' => 'pages/item/espier-detail', 'width' => 430, 'auto_color' => true, 'line_color' => null)), true)
     (/data/httpd/ecshopx-api/vendor/w7corp/easywechat/src/Kernel/BaseClient.php:207)
  at EasyWeChat\Kernel\BaseClient->requestRaw('wxa/getwxacodeunlimit', 'POST', array('json' => array('scene' => 'share_id=6740fcfe1c98b-0', 'page' => 'pages/item/espier-detail', 'width' => 430, 'auto_color' => true, 'line_color' => null)))
     (/data/httpd/ecshopx-api/vendor/w7corp/easywechat/src/MiniProgram/AppCode/Client.php:84)
  at EasyWeChat\MiniProgram\AppCode\Client->getStream('wxa/getwxacodeunlimit', array('scene' => 'share_id=6740fcfe1c98b-0', 'page' => 'pages/item/espier-detail', 'width' => 430, 'auto_color' => true, 'line_color' => null))
     (/data/httpd/ecshopx-api/vendor/w7corp/easywechat/src/MiniProgram/AppCode/Client.php:55)
  at EasyWeChat\MiniProgram\AppCode\Client->getUnlimit('share_id=6740fcfe1c98b-0', array('page' => 'pages/item/espier-detail', 'width' => 430, 'auto_color' => true, 'line_color' => null))
     (/data/httpd/ecshopx-api/src/WechatBundle/Services/WeappService.php:460)
  at WechatBundle\Services\WeappService->createWxaCodeUnlimit('share_id=6740fcfe1c98b-0', 'pages/item/espier-detail')
     (/data/httpd/ecshopx-api/src/WechatBundle/Http/Controllers/Qrcode.php:63)
  at WechatBundle\Http\Controllers\Qrcode->getQrcode(object(Request))
     (/data/httpd/ecshopx-api/vendor/illuminate/container/BoundMethod.php:36)
  at Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
     (/data/httpd/ecshopx-api/vendor/illuminate/container/Util.php:40)
  at Illuminate\Container\Util::unwrapIfClosure(object(Closure))
     (/data/httpd/ecshopx-api/vendor/illuminate/container/BoundMethod.php:93)
  at Illuminate\Container\BoundMethod::callBoundMethod(object(AppKernel), array(object(Qrcode), 'getQrcode'), object(Closure))
     (/data/httpd/ecshopx-api/vendor/illuminate/container/BoundMethod.php:37)
  at Illuminate\Container\BoundMethod::call(object(AppKernel), array(object(Qrcode), 'getQrcode'), array(), null)
     (/data/httpd/ecshopx-api/vendor/illuminate/container/Container.php:653)
  at Illuminate\Container\Container->call(array(object(Qrcode), 'getQrcode'), array())
     (/data/httpd/ecshopx-api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php:389)
  at Laravel\Lumen\Application->callControllerCallable(array(object(Qrcode), 'getQrcode'), array())
     (/data/httpd/ecshopx-api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php:355)
  at Laravel\Lumen\Application->callLumenController(object(Qrcode), 'getQrcode', array(true, array('as' => 'front.wxapp.qrcode', 'uses' => 'WechatBundle\\Http\\Controllers\\Qrcode@getQrcode'), array()))
     (/data/httpd/ecshopx-api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php:329)
  at Laravel\Lumen\Application->callControllerAction(array(true, array('as' => 'front.wxapp.qrcode', 'uses' => 'WechatBundle\\Http\\Controllers\\Qrcode@getQrcode'), array()))
     (/data/httpd/ecshopx-api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php:282)
  at Laravel\Lumen\Application->callActionOnArrayBasedRoute(array(true, array('as' => 'front.wxapp.qrcode', 'uses' => 'WechatBundle\\Http\\Controllers\\Qrcode@getQrcode'), array()))
     (/data/httpd/ecshopx-api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php:267)
  at Laravel\Lumen\Application->handleFoundRoute(array(true, array('as' => 'front.wxapp.qrcode', 'uses' => 'WechatBundle\\Http\\Controllers\\Qrcode@getQrcode'), array()))
     (/data/httpd/ecshopx-api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php:169)
  at Laravel\Lumen\Application->Laravel\Lumen\Concerns\{closure}(object(Request))
     (/data/httpd/ecshopx-api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php:429)
  at Laravel\Lumen\Application->sendThroughPipeline(array(), object(Closure))
     (/data/httpd/ecshopx-api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php:175)
  at Laravel\Lumen\Application->dispatch(object(Request))
     (/data/httpd/ecshopx-api/app/AppKernel.php:73)
  at AppKernel->directDispatch(object(Request))
     (/data/httpd/ecshopx-api/app/AppKernel.php:55)
  at AppKernel->{closure}(object(Request))
     (/data/httpd/ecshopx-api/vendor/dingo/api/src/Http/Middleware/Request.php:111)
  at Dingo\Api\Http\Middleware\Request->handle(object(Request), object(Closure))
     (/data/httpd/ecshopx-api/app/AppKernel.php:56)
  at AppKernel->dispatch(null)
     (/data/httpd/ecshopx-api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php:112)
  at Laravel\Lumen\Application->run()
     (/data/httpd/ecshopx-api/public/index.php:31)