2015-09-07 59 views
2

我正在爲開發和生產服務器使用相同的腳本。腳本如下。PHP memory_get_peak_usage對於開發服務器和生產服務器顯示不同

// my content..... 



    // my content ends here 

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); 
    $objWriter->save('filename.xlsx'); 

    echo ' Current memory usage: ' , (memory_get_usage(true)/1024/1024) , " MB" , EOL; 


    echo " Peak memory usage: " , (memory_get_peak_usage(true)/1024/1024) , " MB" , EOL; 
    exit; 

上述腳本顯示如下結果開發服務器

Current memory usage: 11.5 MB 
    Peak memory usage: 14 MB 

上,但是當我在我的生產服務器上運行它,我下面有

Current memory usage: 67 MB 
    Peak memory usage: 70 MB 

注:數據是100%相同爲我的內容區域。開發環境和生產環境相同(IIS 7.5 PHP 5.4) 爲什麼會發生這種情況?

+1

'$ objWriter = PHPExcel_IOFactory :: createWriter($ objPHPExcel,'Excel2007')之前的內存使用情況;'服務器之間是否一樣? – Cosmin

+0

是的!它是一樣的。 0.75MB –

回答

0

好吧,如果你的$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');之前具有相同的內存使用情況,我能想到的2個選項在這裏:

  1. 的$ objPHPExcel是不同的(我懷疑這一點)
  2. 一臺服務器有86 arhitecture和另一個是64位(但我發現這裏的差別有點大)

PS:也許PHPExcel_IOFactory::createWriter創建的服務器上不同的對象,如果它是一個容器,轉儲$objWriter之前保存,看看它是否是的相同的類型。

相關問題