如何处理多个https请求同时运行php脚本?

我正在制作一项服务,其中从用户端请求 URL,该服务在 Linux 服务器中运行 PHP 脚本,PHP 脚本下载文件,处理它并将其邮寄到用户的电子邮件地址(它是 RSS FEED 到邮件服务)当一次只发送一个请求时一切都很好,但我尝试发送多个请求,它挂起了我的服务器,我不得不重新启动,我再次尝试,这次将其留了一夜,我发现文件已发送给所有请求,但在提出请求后 2 小时内发送。单个请求需要2分钟,2个请求应该需要4到5分钟,为什么需要2个小时。


请帮助我了解发生了什么以及如何解决它?


我正在使用 Calibre,并随时随地创建食谱,通过 url 提供信息,include prorssemail.php 是包含 PHPMailer 脚本的脚本,用于邮寄生成的文件!


谢谢


<?php

$email = $_GET['email'];

$url = $_GET['url'];

$title = $_GET['title'];

exec("

mkdir /var/www/prorss/$email;

cat > /var/www/prorss/$email/file.recipe << EOF

#!/usr/bin/env python2

# vim:fileencoding=utf-8

from __future__ import unicode_literals, division, absolute_import, print_function

from calibre.web.feeds.news import AutomaticNewsRecipe


class BasicUserRecipe1597373876(AutomaticNewsRecipe):

    title          = '$title'

    oldest_article = 1

    max_articles_per_feed = 100

    auto_cleanup   = True


    feeds          = [

        ('$url')

    ]

EOF

");

exec("

ebook-convert /var/www/prorss/$email/file.recipe /var/www/prorss/$email/file.pdf &

");

include 'prorssemail.php';

exec("

rm -r /var/www/prorss/$email

");

?>


精慕HU
浏览 56回答 1
1回答

凤凰求蛊

最后我得到了解决方案,那就是添加>&nbsp;/dev/null&nbsp;2>&1&nbsp;&在电子书转换行的末尾。它的作用是将输出重定向到 null 并释放 php 文件,以便它可以排除另一个请求!
打开App,查看更多内容
随时随地看视频慕课网APP