由于时间错误,我无法将XML文件发送到数据库。该项目的简短摘要:
我正在创建一个应用程序,通过PrestaShop网络服务检索,发送和更新数据。该应用程序是现有PrestaShop应用程序的扩展。使用Web服务时,所有数据都通过XML文档传递。
我有以下两种情况。
1.向数据库发送新值:
当我向数据库发送一个新值时,比如说一个新产品。一切都以一种奇怪的方式正常工作。HTTP响应头如下:
HTTP/1.1 200 OK
Date: Thu, 26 Oct 2017 10:35:21 GMT
Server: Apache/2
Access-Time: 1509014121
X-Powered-By: PrestaShop Webservice
PSWS-Version: 1.7.2.4
Execution-Time: 0.026
Content-Sha1: SomeStuff;
HttpOnlyUpgrade: h2,h2c
Connection: Upgrade
Cache-Control: max-age=2592000
Expires: Sat, 25 Nov 2017 10:35:21 GMT
Vary: Accept-Encoding,User-Agent
Transfer-Encoding: chunked
Content-Type: text/xml;charset=utf-8
但实际时间是两个小时后。XML文档仍然正确发送,值被添加到数据库,time_add和time_upd从服务器获得正确的时间,在本例中是:两小时后:十二点三十五分四十一秒
所以发送一个新值是没有问题的。
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小时。
所以我的问题是
有没有解决办法,或者有没有其他人有同样的问题?
我希望我的问题的描述是清楚的,如果不是,请让我知道,我会更新的问题。
一如既往,提前感谢!
1条答案
按热度按时间y1aodyip1#
因此,由于问题中关于时区等的评论。我发现了问题并解决了它。
当使用prestashop网络服务时,会在原始的prestashop应用程序上创建一个配置文件。在配置中,时区没有设置正确。
所有学分@昆汀的解决方案。
谢谢!