2012-02-20 31 views
2

我有一个脚本,可以在用户的​​webstores上产生xml的产品。现在,这个XML需要从浏览器读取到MySQL数据库使用PHP。问题是,有时XML的规模这样大的(兆字节)是我如何处理与PHP的重页加载

  1. 它不会对用户的网站,即使它是构建

  2. 打印没有得到因通过它的重量和服务器超时与浏览器。

我学会了这些补救措施可能有所帮助。

  1. 提高我使用它来访问并解析XML
  2. 增加浏览器

我已经做了所有这些,但仍无法得到它有效的缓存机器的CPU。那里有其他解决方案吗?

+0

上传这个文件到服务器可能有帮助吗? – k102 2012-02-20 11:38:43

+2

所以你有两个脚本,一个生成xml,另一个通过HTTP读取xml然后插入数据库?你在哪里超时? xml的大小是多少? – alex347 2012-02-20 11:40:53

+0

超时发生在生成xml和有时解析。但主要在xml代。大小有时可能是20MB左右 – karto 2012-02-20 11:44:44

回答

0

我建议不要使用XML将大量数据从一台服务器传输到另一台服务器。尝试this link about mysqldump

如果您必须使用XML交换数据,请考虑压缩它以减少XML转储的大小。

您也可以尝试不要将整个产品列表转移到一个产品列表中,而是以100个产品的块为单位。

你能解释一下浏览器如何与这个问题相关吗?您是否手动在浏览器中调用XML生成脚本,然后将XML发送给第二台服务器?

+0

也考虑在服务器端压缩一个XML文件 – Lixas 2012-02-20 12:31:25

+0

“考虑压缩”是。 zip,gzip,rar,deflate,bzip2,... – Basti 2012-02-20 12:38:01

+0

@Basti:谢谢。到xml的链接位于客户端的服务器中。现在,我必须阅读链接并解析它。由于XML是标记,所以在我保存或解析它之前,它需要打印在浏览器上。所以我的解析浏览器应该有一个很好的缓存,CPU mgt为了读取所有数据。 – karto 2012-02-20 13:16:16

0

20MB不是那么大。为了解决超时而生成或解析XML尝试增加时间限制,例如:

set_time_limit(300); 

将设置时间限制到5分钟。

如果它不够,那么看看你的脚本,他们可能需要优化。

+0

是的,我也增加了。但正如你所说,它与优化有关。 – karto 2012-02-20 13:17:06

+0

还有其他的文件大到70MB – karto 2012-02-20 13:18:12

+0

你会得到什么样的超时?你能在这里复制/粘贴错误信息吗? – alex347 2012-02-20 13:35:51