代码之家  ›  专栏  ›  技术社区  ›  Prafulla Kumar Sahu umang naik

不在Laravel控制器上工作,在Tinker上工作

  •  0
  • Prafulla Kumar Sahu umang naik  · 技术社区  · 6 年前

    受影响的Guzzle版本:6.3 Laravel:5.6.3 PHP:7.2.10

    描述 如果我想在tinker中得到回应

    $client = new \GuzzleHttp\Client();
    $response = $client->get($url);
    json_decode($response->getBody())
    

    我得到了预期的回应。

    但在我的控制器里

    $object_res = $client->get($url);
    

    我犯了个错误

    “卷曲错误3:格式错误(请参阅 http://curl.haxx.se/libcurl/c/libcurl-errors.html )",…}

    这意味着,url是不正确的,但正如我所描述的,这在tinker中非常有效。

    笔记 我在我的本地主机上运行得很好,这只发生在我的测试服务器上。

    如果我需要提供更多信息,请告诉我。

    2 回复  |  直到 6 年前
        1
  •  0
  •   dvl333    6 年前

    Tinker使用的运行时与应用程序不同,这可能会导致问题,因为在一种情况下。php直接从您的盒子进入api服务器,在另一个盒子中,它在发出请求之前通过您的Web服务器。

    首先要做的是用

     php artisan cache:clear
    

    php artisan config:clear 
    

    如果失败了,我会调查你的网络服务器上的跨域限制或设置。

        2
  •  0
  •   guttume    6 年前

    请检查您的服务器上的Guzzle要求。特别地

    To use the PHP stream handler, allow_url_fopen must be enabled in your system's php.ini.
    
        3
  •  0
  •   deadcow    5 年前

    我在测试服务器上遇到了这个问题,我是在驾驶舱里发现的。但我的问题是alouy/youtube。如果生产服务器上有selinux,请检查它。检查的文件权限。我也是。当服务器的变量没有显示时,很难给出解决方案。 也请阅读您的laravel日志,它向我介绍了解决方案。 希望这有帮助。

    推荐文章