说明:register_shutdown_function [关闭]

2023-12-31

什么是register_shutdown_function do?

我对它的用法和作用一无所知。 我知道您可以使用它并与自定义错误处理程序很好地配合,但我不知道要通过它传递什么,如何处理它等等。

有人可以用最简单的术语为这个编码新手解释一下吗?


这实际上是一个非常简单的函数。所以你有一个 php 脚本:

<?php
  echo "Here is my little script";

  function endScript(){
       echo "My little Script has finished";
  }

  register_shutdown_function('endScript');

?>

基本上发生的事情是你的脚本运行并完成,因为我们添加了这一行register_shutdown_function('endScript');它会调用函数endScript并最终输出My little script has finished.

这里有一些额外的内容文档 http://php.net/manual/en/function.register-shutdown-function.php:

注册一个回调,在脚本执行完成或调用 exit() 后执行。可以多次调用 register_shutdown_function(),并且每次调用的顺序都与注册时的顺序相同。如果您在一个已注册的关闭函数中调用 exit(),则处理将完全停止,并且不会调用其他已注册的关闭函数。

*Update

当您经常使用名为的函数时,它的一个很大用处是exit() in php.

例如:

<?php 

  function endScript(){
       echo "My little Script has finished";
  }
  register_shutdown_function('endScript');

  $result = some_intricate_function()

  if($result == 0){
     exit();
  } 

  $result = some_other_intricate_function()

  if($result == 0){
     exit();
  }

/* and this keeps reoccurring */
?>

现在请注意,即使您多次调用 exit,您也不必调用endScript每次退出前的函数。您在一开始就注册了它,现在您知道如果您退出或脚本完成,那么您的函数就会被调用。

当然,现在我的关机功能已经毫无用处了;但如果您需要清理东西(即关闭打开的文件句柄,保存一些持久数据等),它会变得有用

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

说明:register_shutdown_function [关闭] 的相关文章

  • 如何从 Laravel 中的表中选择所有列名称?

    我试图从表中获取所有列名Teller 功能 public function getTableColumns tables return DB select DB raw SELECT COLUMN NAME DATA TYPE COLUMN
  • PHP 如何判断用户是否按下了 Enter 键或 Submit 按钮?

    我遇到的问题是我在一个表单中有多个提交输入 每个提交输入都有不同的值 我更愿意将它们保留为提交 Whenever the user presses Enter it is as though the topmost submit input
  • 搜索引擎如何找到相关内容? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Google 在解析网络时如何找到相关内容 例如 Google 使用 PHP 原生 DOM 库来解析内
  • 删除PHP字符串中所有不匹配的字符?

    我有一个文本 我想从中删除所有不属于以下字符的字符 所需字符 0123456789 abcdefghijklmnopqrstuvwxyz n 最后一个是我确实想保留的 n 换行符 要匹配除列出的字符之外的所有字符 请使用反转字符集 http
  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • PHP 会话不适用于游戏

    我正在尝试模仿一款名为 SKUNK 用骰子玩 的游戏来完成一项作业 我无法让会话正常工作 这是我第一次使用 PHP 我还被告知无需会议即可完成 这是我的代码
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • Yii 使用 ajax 进行分页

    我需要使用ajax启用分页 我的代码 控制器 更新内容ajax function actionIndex dataProvider new CActiveDataProvider News array pagination gt array
  • 如何在响应ajax codeigniter后停止执行其他控制器

    我想知道如何在响应输出 json 数据后停止执行函数和涉及的其他控制器 就我这里的情况而言 我只是打电话test 函数于dashboard控制器 In dashboard构造函数将执行MY Login library In MY Login
  • 如何使用 php 发送服务器错误响应?

    一旦用户点击删除按钮我的 jQuery 脚本要求服务器删除所选项目 现在我想要我的php发送成功或错误响应的脚本 是否有可能触发错误回调万一该项目无法删除 Thanks 我的 jQuery 代码 ajax type post url myA
  • preg_match_all 查询仅显示有问题的外部组

    我无法弄清楚如何只显示 preg 查询的外部组级别 我会给你一个例子 preg match all start end input matches 这个输入start1 start2 2end 1end产生这个输出start1 start2
  • 使用 SSL 证书验证 Web 浏览器

    是否可以使用 ssl 证书对 Web 浏览器进行身份验证 假设我在应用程序中存储私钥 有什么方法可以从浏览器读取密钥并尝试基于该私钥进行身份验证 您可以使用 SSL TLS 客户端证书身份验证来对浏览器 用户进行身份验证 服务器必须请求客户
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • PHP HEREDoc (EOF) 语法在 Sublime Text 3 上突出显示与正斜杠的差异

    我不熟悉 Sublime Text 3 如何使用语法突出显示 例如 如果它纯粹依赖于主题 或者它内置于主题运行的标准中 但就我而言 使用 PHP 的 HERE 文档和转发存在一些语法突出显示差异斜线 一旦出现正斜杠 ST3 就会认为以下所有
  • CURL 中的 data-urlencode 是什么意思?

    我搜索了很多个小时试图弄清楚 php curl 中的 data urlencode 是什么 我尝试过这个 但我认为这是不对的 xmlpost object1 file https www lob com goblue pdf 在文档中是 d
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array

随机推荐

  • 如果盖子关闭,如何以编程方式从睡眠中唤醒?

    我想以编程方式将系统从睡眠状态唤醒 有什么办法可以做到这一点吗 我已阅读以下链接 http developer apple com mac library qa qa2004 qa1340 html http developer apple
  • 通过python脚本调整excel中单元格的宽度和高度(以毫米/厘米为单位)

    我试图寻找它 但没有找到 是否可以使用 openpyxl 或 xlwt 模块以 mm 或 cm 尺寸调整 excel 中单元格的宽度和高度 如果是 那么有人可以指出我的脚本命令吗 多谢 使用 Openpyxl 设置列宽 setting wi
  • 如何在 nHibernate 中部分投影具有多个字段的子对象

    我有以下 nHibernate 查询 它根据课程 ID 选择课程 然后返回选定的字段对于初始获取的课程对象 查询执行没有问题 MatchMode option CourseItem courseAlias null TeacherItem
  • 如何读取txt文件C++并将它们分成几列

    这是我第一次用 c Visual studio 2010 编写代码 我有我想要实现的逻辑 但我无法将其写入代码 查看了许多样品 但没有发现任何结果 基本上我有一个制表符分隔的 txt 文件 我想读取它并将数据放入字符串 字符串数组中 问题是
  • SpringBoot - BeanDefinitionOverrideException:无效的 bean 定义

    我正在尝试使用 Spring Boot 在本地设置 DynamoDB 最初 我的设置正常运行 并且能够通过存储库写入 保存到 DynamoDB 从那时起 我添加了更多类来构建我的应用程序 现在 当我尝试启动我的应用程序时 出现以下异常 or
  • 我已经创建了一个带有套接字的 Java 服务器,那么如何打印到所有套接字?

    我已经尝试了一段时间了 我希望多个客户端同时接收多个输入 有一个问题 如果一个客户端说 print2all Hi 我希望服务器向所有客户端打印 Hi 我知道如何处理它来打印它 只是打印到所有客户端就是问题所在 这是我到目前为止所拥有的 Se
  • 如何根据 GHCi 中的记录制作镜头

    我想玩一下Lens图书馆一点 我已将其加载到 GHCi 中并创建了带有适当下划线的记录数据类型 gt data Foo a Foo arg1 Int arg2 a 我想制作镜片Foo使用makeLenses模板 我想这样做 而不需要阅读整套
  • 跨度与浮动垂直对齐

    我在 div 内垂直对齐 3 个跨度时遇到问题 这很容易实现 但是当我使用浮动时垂直对齐不起作用 我希望浅蓝色条垂直居中 代码 container text 1 float left padding right 10px bar backg
  • 如何使用 Talend tREST 上传文件?

    Experts 我需要使用 Talend tREST 组件将文件上传到 Zephyr JIRA 我不知道在 httpbody 部分中给出的格式 语法 例如curl的 F 电子邮件受保护 cdn cgi l email protection
  • 如果从本地数据库提取,LINQ-to-SQL 类不会实现 INotifyPropertyChanging 和 INotifyPropertyChanged

    我在 LINQ to SQL 类中修改了数据源 通过旧的删除和拖回方法 并惊讶地发现 INotifyPropertyChanging 和 INotifyPropertyChanged 接口不再在生成的类 MyDb designer cs 中
  • Minecraft 服务器的世界边界修剪脚本

    我正在尝试创建一个脚本 每天凌晨 5 点修剪 Minecraft 服务器的世界 到目前为止 它运行命令 wb NAME TRIM 其中 NAME 是世界的名称 然后运行命令 wb TRIM CONNECT 以初始化修剪过程 bin bash
  • 我可以在 firestore 中查询嵌套文档值吗?

    我想在 firestore 中搜索以下数据 收藏 gt 文档 gt date month 10 year 2017 var ref db collection collection doc document ref where date m
  • AWS Athena 对于 api 来说太慢了?

    计划是从 aws 数据交换获取数据 将其移动到 s3 存储桶 然后通过 aws athena 查询数据 api 一切正常 只是感觉有点慢 无论数据集还是查询 athena 响应时间都不能低于 2 秒 对于 API 来说 这已经太多了 我检查
  • Jooq批量记录插入

    我目前正在尝试批量插入许多记录 2000 而 Jooq 的batchInsert 没有执行我想要的操作 我将 POJO 转换为 UpdatableRecords 然后执行 batchInsert 它为每条记录执行插入 因此 Jooq 为每个
  • 从“int”到“const char*”的无效转换[重复]

    这个问题在这里已经有答案了 我在用着gcc在代码块上 我想编写一个使用记录数组的函数 但是我不断收到错误 invalid conversion from int to const char 代码 include
  • Pandas:获取去年同一天的值

    我正在寻找一种方法 如何获取前一年同一天的值 F e 我们有 2014 年 1 月 1 日的值 我想创建一个新列 其中包含这一天的值 但来自一年前 表的示例 我想获取 Previos Year 列 Date Ticks Previos Ye
  • 如何在训练期间每个时期结束时调用测试集?我正在使用张量流

    我正在使用 Tensorflow Keras 开发一个 CNN 模型 其中我将数据集分为训练集 验证集和测试集 我需要在每个时期结束时调用测试集以及训练集和验证集来评估模型性能 下面是我跟踪训练集和验证集的代码 result dic epo
  • 如何注入特定的缓存池?

    在我的 Symfony 5 应用程序中 我想针对不同的任务以及不同的环境使用不同的缓存 例如我的配置如下所示 framework cache pools cache auth adapter cache adapter redis prov
  • 将 nginx.conf 添加到 Kubernetes 集群

    我怎样才能通过nginx conf配置文件到 Kubernetes 集群内运行的 nginx 实例 您可以创建一个 ConfigMap 对象 然后将值作为文件安装在您需要的位置 apiVersion v1 kind ConfigMap me
  • 说明:register_shutdown_function [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 什么是register shutdo