2012-02-20 33 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