我有一个ajax图像上传器,发送图像到php脚本,以便它们是有效的/调整大小和保存到一个目录中。ajax上传程序允许同时上传多个文件。因为它允许多个文件,所以可能会有超时,所以我想使用set_time_limit增加执行时间。但是我很难确定我必须设置多少时间,因为默认值是30秒。1分钟够吗?图片在我的本地机器中正常上传,但我认为在共享主机服务上会有超时错误。任何关于他人如何实现的想法和想法都将是有价值的..谢谢。
发布于 2013-11-26 13:03:05
如果需要,您可以将其设置为5分钟。但由于显而易见的原因,你不会真的想让它有那么高,特别是对于http调用。
所以..。如果我有精力,我会这么做的.
我需要:
process_initializer.php
process_checker.php
client.html
the_process.php (作为后台运行)
..。
客户端将文件上传到process_initializer。
初始化器创建唯一的ID,可能基于毫秒或其他高级解决方案的时间
初始化器启动一个后台进程,向它发送必要的参数,如文件名和ID
初始值设定项使用ID响应客户端
然后客户端轮询process_checker以查看ID发生了什么(可能是20秒的间隔- setTimeout(),随便什么)
process_checker可能会检查文件output_ID.txt是否存在,the_process应该在完成后创建该文件,如果不存在,则响应客户端它尚未准备好,如果存在,可能会将输出发送到客户端,然后客户端可以执行任何操作。
当apache运行php时,它使用一种php.ini配置,当你从命令行或从另一个脚本如exec('php the_process arg1 arg2')运行php时,它将使用不同的php.ini,称为php cli或类似的东西,除非你将php cli配置为使用与apache相同的php.ini。重要的是,它们可能使用不同的设置,因此您可以让cli脚本花费比您的http调用脚本更多的时间。
https://stackoverflow.com/questions/20208504
复制相似问题