PHP最长执行时间为30秒

时间:2015-11-30 11:40:12

标签: php apache

我有一个奇怪的问题,我的localhost和服务器有相同的max_execution_time,这是30秒。

但是在服务器上它的工作没有任何问题,但在localhost中我只得到超过30秒的最大执行时间错误。

我正在使用的数据集也一样。

可能导致max_execution_time超出错误的主要项目是什么?

服务器上的PHP设置

max_execution_time  30  30
max_file_uploads    20  20
max_input_nesting_level 64  64
max_input_time  60  60
max_input_vars  1000    1000
memory_limit    128M    128M

localhost上的PHP设置

max_execution_time  30  30
max_file_uploads    20  20
max_input_nesting_level 64  64
max_input_time  60  60
max_input_vars  1000    1000
memory_limit    128M    128M

计算机的RAM和服务器的Ram是否会导致此问题?如果是这样,唯一的区别是我的计算机中有一个8 GB的ram,服务器中有2 gb ram。

2 个答案:

答案 0 :(得分:0)

如果在两台计算机上使用完全相同的代码,则问题是机器的CPU /处理速度(不太可能)或代码处理的数据量(更有可能)。

严格地说,如果您的代码达到了最大执行时间,那么您应该考虑减少代码在一次执行中的处理量。如果构建代码来处理/处理大量请求,请考虑在一个请求中添加最大数量的数据以交错/批处理它们。 (例如,不要一次处理100行/请求,将上限设置为25并将其错开4次执行代码)。

如果它是一个大型流程,您可能希望考虑增加最长执行时间的上限。

答案 1 :(得分:0)

您的本地计算机上的请求几乎肯定比在服务器上要长 - 如果您想象,您的服务器只执行很少的工作 - 您的桌面计算机正在运行GUI,其他后台软件,您的IDE等 - 所以即使它们具有相同的硬件(现实情况是您的服务器可能具有企业级硬件(更快的磁盘等),而您的桌面是消费级硬件),所以即使像查询数据库这样简单的事情也几乎肯定需要更长的时间。你的本地设置。

因此,它并不像“喜欢”这样。测试