PHP memory_get_peak_usage对于开发服务器和生产服务器显示不同

时间:2015-09-07 06:49:29

标签: php

我在开发和生产服务器上使用相同的脚本。脚本如下。

    // 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 个答案:

答案 0 :(得分:0)

好吧,如果你在posting.done(function(data){ var warnings = $(data).find('.warnings'); $('form#gastenboek').append(data); if (warnings.length > 0) { // --^-- getting count of elements alert("warnings") } else { alert("Nothing"); } }); 之前有相同的内存使用量,我可以在这里考虑2个选项:

  1. $ objPHPExcel不同(我怀疑这个)
  2. 一台服务器有x86架构而另一台服务器是x64(但我发现这里的区别太大了)
  3. PS:如果服务器是容器,可能$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');在服务器上创建一个不同的对象,在保存之前转储PHPExcel_IOFactory::createWriter并查看它是否属于同一类型。

相关问题