提高PHP内存并降低内存是不是非常糟糕的做法


Is it very bad practise to boost up PHP memory and bring it down?

我编写了一个PHP应用程序,它使用数据库数据生成Excel文件。我使用的是著名的PHPExcel库。每个使用过这个库的人都知道,内存管理是这个库最糟糕的地方。

所以,我的问题是,在我写下excel之前,提高记忆力可以吗?

类似

error_reporting(1);
ini_set('memory_limit', '500M');
@set_time_limit(0);

一次完成

error_reporting(1);
ini_set('memory_limit', '128M');
@set_time_limit(0);

没有必要将其设置为后退。ini_set只影响当前请求,不影响整个服务器;一旦您的请求完成,它就会隐式地设置回服务器默认值。

可以这样做,但不要将其设置得比需要的更高。您应该设置PHPExcel可以生成的行/列数的限制,然后在该限制下测试系统的内存使用情况。

正如@duskwuff所说,您不需要运行两次ini_set。它会将自己设置回您的系统配置。

这可能是让它工作的唯一方法。

与其他反应相反,可能需要降低记忆力限制。如果同时有很多请求,你会更快地消耗掉所有内存(尽管在大多数情况下这不会很明显)。

我的意思是,这只是一个很好的练习——有时每个字节都很重要。

顺便说一下,第二error_reporting和第二set_time_limit什么都不做。

$reporting = error_reporting(E_ERROR);
// some code
error_reporting($reporting);

也许你是这样的人?