Php 脚本工作太多,最大执行时间失败

Php 脚本工作太多,最大执行时间失败,php,email,Php,Email,我在我的网站上添加了新功能。用户上传pdf格式的租金收据档案(约100个用户,约100个文件)。1个文件约25KB,孔存档约2.5-2.7mb 我写了剧本。脚本保存存档文件,打开存档文件,将图像解压缩到另一个文件夹,并为每个图像(向每个用户)发送电子邮件。这需要时间。我在本地服务器上测试了它(max\u execution\u time 60),但失败了,因为脚本工作时间太长。之后,我检查了我的主机max\u execution\u time。。。好吧,现在我很难过 我的下一个结构是: 抽签 使

我在我的网站上添加了新功能。用户上传pdf格式的租金收据档案(约100个用户,约100个文件)。1个文件约25KB,孔存档约2.5-2.7mb

我写了剧本。脚本保存存档文件,打开存档文件,将图像解压缩到另一个文件夹,并为每个图像(向每个用户)发送电子邮件。这需要时间。我在本地服务器上测试了它(
max\u execution\u time 60
),但失败了,因为脚本工作时间太长。之后,我检查了我的主机
max\u execution\u time
。。。好吧,现在我很难过

我的下一个结构是:

  • 抽签
  • 使用php上传存档文件(
    /MM-YYYY\(zip | rar)
    格式)(+所有检查等)
  • 发出ajax请求,发送月+年
  • 在这个脚本中,我得到月+年(所以得到路径),然后我执行下一个序列:
    从bd获取用户电子邮件(存档中的文件名为
    /[1-9][0-9]*\.pdf/
    (1.pdf、100.pdf、555.pdf等),将电子邮件连同附件发送给用户
  • 在我看来,发送带有附件的邮件需要时间。我有50-100封邮件

    1) 我如何加快脚本的速度,或者我如何处理这个问题必须改变

    2) 50封带有附件的邮件发送得这么慢可以吗

    请帮忙。多谢各位

    添加时间测试

    14.9609秒-档案5份
    3.6962 s.-1个文件
    14.2918-4个文件(第一次尝试)
    14.1198-4个文件(第二次尝试)
    35.271-10个文件
    35.811-10个文件(另一次尝试)

    添加-我尝试了另一种方法:多个ajax请求,而不是一个

    我改变了发送电子邮件的方式。我在列表的第2项中执行所有操作。在ajax请求的页面中,我只发送电子邮件。结果如下:

    发送1封电子邮件:

    没关系

    发送3封电子邮件:

    什么??9.82对于1封邮件??为什么不是3.5

    发送10封电子邮件:

    ?!?!!@#!@%18.16第一封电子邮件。在我看来,这不能称为“异步”。为什么要花这么多时间

    所以:发送10封电子邮件的页面收到1个ajax请求的时间等于发送1封电子邮件的页面收到10个ajax请求的时间


    我认为10个ajax请求将异步发送,工作需要3-4秒。有人能解释一下吗(

    如果您觉得邮件部分是造成延迟的原因,您可以将其分解

    为邮件设置cron作业。最小频率为一分钟

    此外,还可以增加执行时间。 但是,某些web主机有严格的策略,并且对您不利,具体取决于每个进程将运行多长时间(我假设随着您添加更多用户和文件,这将增加),以及在24小时内发生的次数

    我的建议是使用cron作业,只要您确信您的编码是有效的


    另外,你能不能将邮件抄送或密件抄送?TBH,我不确定邮件发送时间是否会增加。只是一个小想法。

    “我如何加快脚本”-对其进行分析,并找出发生减速的地方。谢谢你的评论。50封带有附件的邮件发送如此缓慢可以吗?正常吗?:)好的,1分钟,我将使用1-5个文件检查执行时间。14.9609 s档案5份;3.6962 s.-1个文件;14.2918-4楼。(第一次尝试);14.1198-4 f。(第二次尝试);35.271-10个文件