我有一个奇怪的问题,我的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。
答案 0 :(得分:0)
如果在两台计算机上使用完全相同的代码,则问题是机器的CPU /处理速度(不太可能)或代码处理的数据量(更有可能)。
严格地说,如果您的代码达到了最大执行时间,那么您应该考虑减少代码在一次执行中的处理量。如果构建代码来处理/处理大量请求,请考虑在一个请求中添加最大数量的数据以交错/批处理它们。 (例如,不要一次处理100行/请求,将上限设置为25并将其错开4次执行代码)。
如果它是一个大型流程,您可能希望考虑增加最长执行时间的上限。
答案 1 :(得分:0)
您的本地计算机上的请求几乎肯定比在服务器上要长 - 如果您想象,您的服务器只执行很少的工作 - 您的桌面计算机正在运行GUI,其他后台软件,您的IDE等 - 所以即使它们具有相同的硬件(现实情况是您的服务器可能具有企业级硬件(更快的磁盘等),而您的桌面是消费级硬件),所以即使像查询数据库这样简单的事情也几乎肯定需要更长的时间。你的本地设置。
因此,它并不像“喜欢”这样。测试