【问题标题】:HTTP/1.1 404 Not FoundDate: errorHTTP/1.1 404 Not FoundDate: 错误
【发布时间】:2017-10-26 10:48:43
【问题描述】:

由于时间错误,我无法将 XML 文件发送到数据库。项目的简短摘要:

我正在创建一个通过 prestashop 网络服务检索、发送和更新数据的应用程序。该应用程序是现有 prestashop 应用程序的扩展。使用 web 服务,所有数据都通过 XML 文档传递。

我有以下两种情况。

1.向数据库发送新值:
当我向数据库发送一个新值时,假设是一个新产品。一切都以一种奇怪的方式正常工作。 HTTP响应头如下:

HTTP/1.1 200 OKDate: Thu, 26 Oct 2017 10:35:21 GMTServer: Apache/2Access-Time: 1509014121X-Powered-By: PrestaShop WebservicePSWS-Version: 1.7.2.4Execution-Time: 0.026Content-Sha1: SomeStuff; HttpOnlyUpgrade: h2,h2cConnection: UpgradeCache-Control: max-age=2592000Expires: Sat, 25 Nov 2017 10:35:21 GMTVary: Accept-Encoding,User-AgentTransfer-Encoding: chunkedContent-Type: text/xml;charset=utf-8

但实际时间是 2 小时后。仍然正确发送 XML 文档,将值添加到数据库中,并且 time_add 和 time_upd 从服务器获取正确的时间,在这种情况下:2 小时后:12:35:41。

所以发送一个新值是没有问题的。

2。更新值(这是出现问题的地方)
更新值时,我将首先选择正确的数据库行。然后我会用一些新值更新这些值。

一切正常,表单发送值,HTTP 标头捕获它们并尝试通过 XML 发送部分发送值。 但是 HTTP 响应标头再次检索 2 小时前的时间,在这种情况下会显示以下错误:

HTTP RESPONSE HEADER
HTTP/1.1 404 Not Found
Date: Thu, 26 Oct 2017 10:40:52 GMT
Server: Apache/2
X-Powered-By: PHP/7.0.23
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Link: <https://MySite.nl/wp-json/>; rel="https://api.w.org/"
Upgrade: h2,h2c
Connection: Upgrade
Vary: Accept-Encoding,User-Agent
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

XML 发送确实尝试发送,但由于 dateTime 错误而被拒绝。这就是它变得奇怪的地方,因为我检查了服务器时间并且那里没有问题。服务器时间是正确的 12:40:...

所以我的 HTTP 标头比服务器时间晚了 2 小时。

所以我的问题是:

是否有任何解决方案或其他人有同样的问题?

我希望我的问题描述清楚,如果不是,请告诉我,我会更新问题。

一如既往,提前致谢!

【问题讨论】:

  • 真的是两个小时后吗?还是晚了两个时区?
  • @Quentin 可能是其中任何一个,服务器中为欧洲阿姆斯特丹设置的时区,从服务器请求时间给出正确的时间。但是 HTTP 没有得到那个时间,并告诉我它早了 2 小时,正好是 2 小时到第二个......
  • Date: Thu, 26 Oct 2017 10:40:52 GMT — 这是明确的格林威治标准时间,比阿姆斯特丹当地时间早两个小时。
  • @Quentin 好的,所以两个不同的时区,这已经是什么了(谢谢:))但是这样的事情怎么会发生呢??
  • @Quentin 我发现了问题,在API连接的设置中说明:设置如下:header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT"); 如何将其更改为gmt+2(阿姆斯特丹)?

标签: php xml web-services http-headers prestashop


【解决方案1】:

因此,由于有关时区等问题的 cmets。我找到了问题并解决了它。

使用 prestashop 网络服务时,会在原始 prestashop 应用程序上创建一个配置文件。在配置中没有设置时区。

感谢@Quentin 提供的解决方案。

谢谢!

【讨论】:

    猜你喜欢
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多