下面是给我带来很大麻烦的页面的简化版本:
<?php
passthru('dd if=/path/to/file bs=xx skip=xx count=xx | resource_intensive_command | dd bs=xx skip=xx count=xx');
?>
它仅当客户端停止监听或完成时才停止(但这不是一个快速的任务)。它使用一个 100% 的线程(+ 在其他线程上运行 dd)。
在处理此请求时,任何其他请求(需要 php-fpm)都会导致 504 网关超时错误,我想知道我是否可以对此采取任何措施。我在 Debian(在 Raspberry Pi 上)上运行 php8.2-fpm 和 nginx 1.22.1。
我猜这与某些配置有关,但我完全迷路了。
我不知道这是否会是一个问题,但所有请求都会加载main.php
,然后调用正确的文件。
事实证明,同一个会话不能同时打开两次。(我曾
session_start()
在main.php
)。