我安装了一个WordPress,我使用一个Web表单在我的网站上传图片。 Web表单允许最终用户一次上传多个文件。
问题是我的一个用户有这个错误:
致命错误:在258行的/ home / ACOUNT /public_html/wp-includes/media.php上超过了30秒的最大执行时间
那么什么是max_execution_time的最佳调整。 现在你可以看到是30秒。 有什么想法吗?
如果我把它设置在一个非常高的值(即600),会影响我的服务器性能?
注意:用户尝试上传两个文件,大小为2.96MB和2.9MB。
亲切的问候Merianos Nikos
我从错误消息中的path猜测这是一个Unix / Linux系统(MSWindows处理超时非常不同 )。
虽然带宽(和延迟!)对处理请求所花费的时间有很大的影响,但PHP时钟只在调用PHP解释器时才会启动 – 直到Web服务器收到完整的请求才会启动 – 即PHP执行时间,因此超时应该与Web服务器处理请求花费多长时间无关。
在PHP中有一个超时,以确定它应该花费多长时间接收来自networking服务器的数据 – max_input_time – 据报道 , 当超过这个时间,报告 超出了max_execution_time ! 。
所以….假设一个0延迟networking…
00:00用户开始上传,Apache的超时时钟开始(但将不断得到新的数据包重置)
00:10收到Apache完成的请求,请求交给PHP,max_input_time时钟开始
00:11 PHP已经读取了所有的input,max_input_time时钟停止,max_execution_time时钟开始执行,脚本被执行
现在,在一个Unix机器上,执行PHP时,max_execution时钟才会出现,问题在于PHP的性能/ PHP脚本的性能。
是的,你可以增加最大的执行时间,而不会对其他地方产生很大的影响(尽pipe通过脚本脚本的ini_set()/ set_time_limit()来设置它比全局设置更加清晰)。 但是要确保你使用的是操作码caching,如果php脚本试图parsing数据,那么要小心数据/parsing器的问题。
有max_execution_time设置的两个目的:
将其设置为较高值只会影响性能,如果您有脚本执行以上两件事之一。
检查你的错误日志,看看在改变之前你有多less次(如果有的话)超过这个时间。
您可以通过在需要更多时间的PHP代码中使用ini_set()来select性地更改它。
正如@Ladadadada所说, max_execution_time设置不会影响您的服务器性能。 否则,如果你不想设置太高的值,我personnaly指的是upload_max_filesize设置。
知道你的服务器带宽,并通过testing一些上传,你将能够find一个平均上传速度(降低这个速度来照顾带宽低的用户)。 这将有助于设置一个合理的 max_execution_time值。