为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
精慕HU 2023-12-15 15:55:30
我正在制作一项服务,其中从用户端请求 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-8from __future__ import unicode_literals, division, absolute_import, print_functionfrom calibre.web.feeds.news import AutomaticNewsRecipeclass 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");?>
查看完整描述

1 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

最后我得到了解决方案,那就是添加

> /dev/null 2>&1 &

在电子书转换行的末尾。它的作用是将输出重定向到 null 并释放 php 文件,以便它可以排除另一个请求!


查看完整回答
反对 回复 2023-12-15
  • 1 回答
  • 0 关注
  • 50 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信