小编Har*_*ari的帖子

从一个 Laravel 应用程序向同一系统上的另一个应用程序进行 Guzzle Http 调用时出现问题

我在 Laravel 和 Guzzle HTTP 中遇到了一个奇怪的错误。我的本地主机中有 2 个应用程序 APP1(充当客户端)和 APP2(充当服务器)。APP1 必须通过 Guzzle HTTP 调用 APP2 来获取数据。当我调用 APP1 中的 URL 时,该操作会调用 APP2 并返回响应。但是如果我们通过这种方式调用,我发现APP2使用了APP1的.env和数据库连接。

为了确认这一点,我在 APP2 的操作中添加了代码。

return response()->json(['host' => DB::connection()->getConfig("host"), 'env_host' => env('DB_HOST')]);
Run Code Online (Sandbox Code Playgroud)

如果我直接在浏览器上调用 APP2 url,它会返回正确的结果:

{"host":"localhost","env_host":"localhost"}
Run Code Online (Sandbox Code Playgroud)

但是如果我通过 Guzzle HTTP 从 APP1 到 APP2 进行 REST 调用,它会返回以下响应:

{"host":"localhostX","env_host":"localhostX"} //where localhostX is the value I added in .env file of APP1
Run Code Online (Sandbox Code Playgroud)

这是 guzzle 请求代码:

 client = new Client([ 'base_uri' => 'http://localhost/app2/', 'http_errors' => true, 'allow_redirect' => true ]);

        $response = $this->client->request('GET', $uri, …
Run Code Online (Sandbox Code Playgroud)

laravel guzzle laravel-5.4

5
推荐指数
1
解决办法
2250
查看次数

将 Unix 时间戳转换为 Php 中的日期

在发布此内容之前,我已经在 stackoverflow 中提到了这些问题。就我而言,我需要将 1426023505154 转换为日期格式。为了确保时间戳有效,我检查了http://www.epochconverter.com。我用这些代码进行转换。但这不起作用:

date_default_timezone_set('Asia/Calcutta');
$date = new DateTime();
$date->setTimestamp(1426023505154);
echo $date->format('U = Y-m-d H:i:s') ;
echo gmdate("Y-m-d\TH:i:s\Z", 1426023505154);
echo echo date('d-m-Y', 1426023505154);
Run Code Online (Sandbox Code Playgroud)

但所有这些都会导致错误的结果,例如:

  1. 47158-11-20 21:49:14

  2. 20-11-47158

  3. 47158-11-20T16:19:14Z

请让我知道如何解决这个问题。谢谢

php unix-timestamp zend-framework2

2
推荐指数
1
解决办法
1万
查看次数