如何在 PHP 中发出 HTTP 请求而不等待响应

2023-11-27

PHP 中有没有办法进行 HTTP 调用而不等待响应?我不在乎回应,我只想做类似的事情file_get_contents(),但在执行其余代码之前不等待请求完成。这对于在我的应用程序中引发某种“事件”或触发长进程非常有用。

有任何想法吗?


我之前接受的答案不起作用。它仍在等待回应。这确实有效,取自如何在 PHP 中发出异步 GET 请求?

function post_without_wait($url, $params)
{
    foreach ($params as $key => &$val) {
      if (is_array($val)) $val = implode(',', $val);
        $post_params[] = $key.'='.urlencode($val);
    }
    $post_string = implode('&', $post_params);

    $parts=parse_url($url);

    $fp = fsockopen($parts['host'],
        isset($parts['port'])?$parts['port']:80,
        $errno, $errstr, 30);

    $out = "POST ".$parts['path']." HTTP/1.1\r\n";
    $out.= "Host: ".$parts['host']."\r\n";
    $out.= "Content-Type: application/x-www-form-urlencoded\r\n";
    $out.= "Content-Length: ".strlen($post_string)."\r\n";
    $out.= "Connection: Close\r\n\r\n";
    if (isset($post_string)) $out.= $post_string;

    fwrite($fp, $out);
    fclose($fp);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PHP 中发出 HTTP 请求而不等待响应 的相关文章

  • 无法访问 localhost/xampp/index.php

    我刚刚安装了 Windows 7 的 XAMPP 控制面板似乎工作正常 我启动了 MySql 和 Apache 我遇到的问题是 当我在浏览器 Google Chrome 中输入 localhost 时 它会将我发送到 http localh
  • Yii2 - 错误请求 (#400) |前端和后端cookie

    仅当我打开时才会出现此问题frontend and backend在相同的browser 设想 与后端交互 gt 切换选项卡 gt 与前端交互 gt 切换选项卡返回 gt 与后端交互 gt 错误请求 400 Cookie 后端 identi
  • 使用什么 API 在现有 MFC 应用程序中添加 HTTP 客户端支持?

    我最近接到一项任务 要添加与以下内容交互的能力网络地图服务 http en wikipedia org wiki Web Map Service到现有的 MFC 应用程序 我需要客户端 HTTP API 根据我的研究 领先的候选人似乎是CA
  • CakePHP 视图包括其他视图

    我有一个 CakePHP 应用程序 在某些时候会显示带有产品媒体 图片或视频 的视图 我想知道是否有某种方式可以包含另一个威胁视频或威胁图片的视图 具体取决于标志 我想将这些 小视图 用于其他几个目的 所以它应该 像 蛋糕组件一样 以便重用
  • Access-Control-Allow-Origin值跨站缓存

    我正在尝试编写一个 nginx 配置来处理 http 和 https 上的两个站点 只要客户端从不访问这两个站点 它似乎就可以工作 但如果它们这样做 就会出现缓存 跨站点问题 Allow cross origin location eot
  • Xdebug V3 不会停止 VSCode 中的断点

    我正在尝试使用 VSCode 在 XAMPP 上进行调试 但没有成功 我知道有很多关于这个的问题 我已经尽了一切努力 但仍然行不通 我的 xdebug 扩展确实有一件奇怪的事情 我目前使用 PHP v7 4 12 和 Xdebug 版本 3
  • 如何在 GitHub Action 中使用不同版本的 PHP 进行测试

    我有一些 PHP 代码 其中包含使用以下命令运行的测试PHPUnit并想对其进行测试GitHub Actions 我在他们的文档中找不到测试 PHP 包的方法 我想使用不同版本的 PHP 进行测试 但他们只有最新的版本7 3安装 您可以添加
  • 使用 PHP/linux 将文件合并为单个 PDF

    我正在研究如何将多个 PDF 合并为一个 PDF 我正在寻找一个图书馆可靠且坚固尽可能 最好有一个库可以保留书签 鬼脚本 http pages cs wisc edu ghost 可以在保存书签的位置进行连接 但我遇到了麻烦 在一种情况下它
  • 如何使用 Ruby on Rails 3 检查 HTTP 请求的“Content-Length”字段?

    我正在使用 Ruby on Rails 3 在我的视图文件中我有以下代码 为了避免服务器过载 我会在服务器接收上传文件之前检查上传文件的大小 这是因为 按下表单的提交按钮 服务器会先完整接收文件 然后再检查文件 我知道一个HTTP 请求有标
  • Facebook PHP-SDK 页面刷新后似乎丢失了 userID

    我似乎登录工作正常 我可以登录 接受应用程序 第一次 然后显示用户信息 例如姓名 图片 等 然而 当我刷新页面时 userid 又回到 0 我必须再次登录 我不确定问题是什么 我必须在每次页面加载时重新启动它还是什么 我不知道 我会发布一些
  • Nginx 502 网关错误。通过增加buffer来解决。为什么?

    我正在设置 LEMP 堆栈来运行 Drupal 我安装了 Nginx 和 PHP FastCGI Nginx 工作正常 但任何运行 PHP 的尝试都会出现错误 502 Bad Gateway 谷歌很快发现 nginx 502 错误网关 ht
  • 如何在codeigniter中将上传图片比例限制为16:9?

    这是我用来上传图像的代码 this gt load gt library upload ext pathinfo file name PATHINFO EXTENSION img name now ext imgConfig upload
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 浏览器显示 clojure 环中不存在 access-control-allow-origin 标头

    我通过客户端浏览器向服务器发出请求 如下所示https example com bar https example com bar 但出现错误 Access to XMLHttpRequest at https example com ba
  • 网站(Google 和/或您)应如何处理 Accept-Language 标头?

    很长一段时间以来 我对谷歌在以下情况下的行为并不满意 并且在无意中注意到之后80 其他人 https stackoverflow com questions 1011167 what are common ui misconceptions
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • session_start():无法解码会话对象

    我有时在使用 CodeIgniter 时遇到以下问题 错误 2019 03 05 19 57 26 gt 严重性 警告 gt session start 无法解码会话对象 会话已被销毁 system libraries Session Se
  • 从数据库检查数据的异步解决方案各种循环子句

    我想要做的是异步检查数据库并从中获取结果 在我的应用程序中我试图实现Asynchronously将此步骤解决为 从数据库中检查手机号码JsonArray循环子句的种类 Create JsonArray从结果 打印创建的数组 我学到了足够多的
  • PHP 拒绝从 var_dump、print 等输出数据

    我目前正在运行 WAMP 服务器 并且在过去的 30 分钟内一直在尝试弄清楚我的项目如何以及为什么不会输出任何指定的 PHP 数据 起初我以为是因为我有一个 htaccess文件的output buffering被禁用 所以我删除了它 仍然
  • Laravel 搜索关系

    我有两个相关的模型 我正在尝试在产品中进行搜索 并且仅显示实际搜索结果 而不是找到该产品的类别的所有产品 我不想搜索任何类别 因为无论搜索什么或找到什么 类别都会始终显示 Example I have the following categ

随机推荐

  • 制作多语言android应用程序

    我创建了多语言 英语 俄语 乌兹别克语 应用程序 我将 4 个字符串资源放入 4 个文件夹 values values en values ru values uz 中docs 当我更改应用程序语言时 会更新应用程序控制器中的资源配置 如下
  • 在现有文档的特定位置插入 XML 节点

    我有一个包含一些可选节点的现有 XML 文档 我想插入一个新节点 但在某个位置 该文档看起来像这样
  • 自动映射器和不变性

    是否可以将 AutoMapper 与不可变类型一起使用 例如 我的域类型是不可变的 我想将我的视图类型映射到此 我相信不是 但只是想确认这一点 此外 由于最佳实践是让域类型不可变 因此将视图类型映射到域类型时的最佳实践是什么 我通常会手动进
  • Webpack:大小超出建议限制 (244 KiB)

    这是有问题的分支和存储库 https github com Futuratum moon holdings tree dev 您好 我遇到了这个问题 因为我有一个包含大量图像的资产文件夹 我不在乎大小 这对于现代网络用户来说应该是正常的 我
  • PHP 命令行界面出现奇怪的 5 秒停顿(与 mysql/mysqli 扩展有关)

    从命令行 PHP 客户端 Windows 上的 PHP 5 2 执行 PHP 脚本时 我遇到了奇怪的 5 到 7 秒的暂停 在此暂停期间 PHP 脚本似乎 冻结 了一段时间 然后返回到命令提示符 它没有使用任何重要的 CPU 时间 就好像它
  • 使用 java 向 WebService 发出 SOAP 请求

    我对如何通过 java 向 Web 服务发出请求有点困惑 目前我唯一了解的是 Web 服务使用 xml 结构化消息 但我仍然不太明白如何构建我的请求
  • Java 的类型擦除有什么好处?

    我读了一篇tweet今天说 当 Java 用户抱怨类型擦除时 这是很有趣的 这是 Java 唯一正确的事情 而忽略了它出错的所有事情 因此我的问题是 Java 的类型擦除有好处吗 除了向后兼容性和运行时性能方面的 JVM 实现偏好之外 它
  • 错误:ENOENT:express-handlebars 中没有此类文件或目录

    我在用express handlebars在 NodeJS 中加载动态内容 inside app js const express require express const bodyParser require body parser c
  • 嵌入式系统上运行的Java VM推荐

    我们正在尝试在我们的嵌入式平台 700 MHzMIPS 74K 128 256 MB 内存 读完这篇文章后article谷歌搜索了一下 我想出了入围名单 Sun 的 Java ME Kaffe Jbed Perc HP Chai 虚拟机 P
  • 如何在不刷新页面的情况下将新的 HTML 数据从服务器推送到浏览器

    我见过许多网站 例如 Facebook 或 Stack Overflow 它们会在生成新数据时更新某些功能 例如帖子上的新答案 假设博客中添加了一篇新帖子 并且当时有人在博客中查看它 其想法是自动将新帖子添加到博客中 而无需刷新或让用户执行
  • 同时捕获java异常FileNotFound和IOException

    FileNotFoundException 是否是 IOException 的 子异常 这是我的代码 打开给定路径处文件的输入流 method FileInputStream fs try fs new FileInputStream pa
  • 表 xxx' 上的 UPDATE 语句预计更新 1 行; 0 与 Zope transactionmanager 匹配

    我正在运行 Pyramid Zope 事务管理器 SQLAlchemy PostgreSQL 在某些场合 我见过StaleDataErrorPyramid Web 应用程序上的错误 该错误对于更新数据库中的一行来说应该是非常简单的视图 由于
  • Google电子表格:将脚本分配给带有参数的按钮

    我可以成功地将脚本分配给 Google 电子表格中的图像 我的问题是参数传递 我有这个脚本可以在单元格上写入当前时间 function Time cell var d new Date var timeAsString d getHours
  • Spring 转换服务:如何将 String 转换为 List

    我正在使用 Spring 的转换服务 并注册了我自己的转换器 public class MyTypeConverter implements Converter
  • 比较 2 个 wchar_t 数组

    我确信这非常简单 但我来自 C 背景 其中字符串很简单 现在我正在进入非托管世界 我很困惑 本质上 我使用 EnumDisplayDevices 来列出可用的设备 我想要定位特定的适配器 因此我需要将 DeviceString 和 Devi
  • JAXB 非法注释异常

    我是第一次使用 JAXB 在理解它要我做什么时遇到一些问题 我已经设置了一个类 它将成为相当大的 XML 的一部分 该类将表示 XML 文档的 标题 部分 package com somecompany jscentral xml inte
  • 并行集合中 scala 折叠的行为

    让我们多次运行以下代码行 Set 1 2 3 4 5 6 7 par fold 0 结果非常有趣 scala gt Set 1 2 3 4 5 6 7 par fold 0 res10 Int 8 scala gt Set 1 2 3 4
  • Javascript 中的一次迭代中的映射和排序?

    是否可以将数组映射到新数组并同时对其进行排序 而无需迭代两次 一次用于第一个数组上的映射 一次用于第二个数组上的排序 在使用这样的映射方法时 我一直尝试使用匿名函数对其进行排序 var arr 4 2 20 44 6 var arr2 ar
  • Jade 模板,包含中的变量范围

    我正在使用 Jade 没有 Express 仅用于静态 HTML 模板 我将其理解为能够创建部分 意味着范围不是问题 但情况似乎并非如此 我找不到对此使用的任何参考 案件 玉大师 5 html block vars var slug hom
  • 如何在 PHP 中发出 HTTP 请求而不等待响应

    PHP 中有没有办法进行 HTTP 调用而不等待响应 我不在乎回应 我只想做类似的事情file get contents 但在执行其余代码之前不等待请求完成 这对于在我的应用程序中引发某种 事件 或触发长进程非常有用 有任何想法吗 我之前接