php - 当用户获取页面时,如何在服务器端启动 PHP 后台进程?

标签 php fetch background-process

我没有 PHP 经验,我想知道这是否可能:

我想在用户获取页面时启动后台 PHP 进程。此过程将检查某些延迟是否已过期(例如文件中的时间戳)并相应地执行。页面可以在进程完成执行之前“返回”。

这现实吗?如果是,我应该如何进行?获取页面时启动进程的代码是什么?谢谢。

最佳答案

如果您的 php 不受安全限制(并且您也安装了 PHP 的 CLI 版本),则这是可能的。只需运行一个新的 php 进程即可:

shell_exec('nohup php /absolute/path/to/your/script.php > /dev/null &');

注意&。这将导致该进程在后台运行。您可以将/dev/null 替换为文件名来记录输出。另外,如果“php”不起作用,请尝试/usr/bin/php 或 php-cli。

或者,您可以在页面加载时从用户的浏览器发出 Ajax 请求。该请求可以根据需要持续很长时间(假定 Web 服务器配置正确),并且对用户完全不可见。

关于php - 当用户获取页面时,如何在服务器端启动 PHP 后台进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8584059/

相关文章:

ios - 如何在 Xamarin iOS 中启动由 iBeacon 触发的 GPS 跟踪?

PHP mysqli_fetch_array 缺少一些字段

php - 在表单提交时传递当前 URL

php - 动态模板css(模板框架)的mysql结构

php - Doctrine 连接语法错误

node.js - 按 Id 显示 React 属性

java - Android服务器数据抓取

javascript - 获取多个 promise ,只返回一个

computer-science - 如何运行雅典娜 |公鸡 |伊莎贝尔远程编码?

windows - 在后台运行 PuTTY -m(不需要窗口)