PHP 脚本在超过 60 秒时执行两次

2024-02-15

好吧,在过去的 3 个小时里,我一直在绞尽脑汁地思考这个问题,疯狂地谷歌搜索,但没有解决问题。因此,我编写了一个示例脚本来重现这一点,因为我的原始脚本大约有 800 行。

<?php
    set_time_limit(0);
    ini_set('max_input_time', '-1');
    ini_set('max_execution_time', '0');

    error_log("executing script... ");
    $time = time();
    for ($t = 0; $t <= 15; $t++) {
        error_log("Logging: $t (".(time()-$time)." seconds)");
        sleep(5);
    }
    error_log("execution done (".(time()-$time)." seconds)");
?>

现在,sleep 函数只是用于重新创建页面的执行时间,并没有在原始代码中使用。这将在 error_log 文件中产生以下结果

[Tue Nov 06 16:24:14 2012] executing script...
[Tue Nov 06 16:24:14 2012] Logging: 0 (0 seconds)
[Tue Nov 06 16:24:19 2012] Logging: 1 (5 seconds)
[Tue Nov 06 16:24:24 2012] Logging: 2 (10 seconds)
[Tue Nov 06 16:24:29 2012] Logging: 3 (15 seconds)
[Tue Nov 06 16:24:34 2012] Logging: 4 (20 seconds)
[Tue Nov 06 16:24:39 2012] Logging: 5 (25 seconds)
[Tue Nov 06 16:24:44 2012] Logging: 6 (30 seconds)
[Tue Nov 06 16:24:49 2012] Logging: 7 (35 seconds)
[Tue Nov 06 16:24:54 2012] Logging: 8 (40 seconds)
[Tue Nov 06 16:24:59 2012] Logging: 9 (45 seconds)
[Tue Nov 06 16:25:04 2012] Logging: 10 (50 seconds)
[Tue Nov 06 16:25:09 2012] Logging: 11 (55 seconds)
[Tue Nov 06 16:25:14 2012] executing script...
[Tue Nov 06 16:25:14 2012] Logging: 0 (0 seconds)
[Tue Nov 06 16:25:14 2012] Logging: 12 (60 seconds)
[Tue Nov 06 16:25:19 2012] Logging: 1 (5 seconds)
[Tue Nov 06 16:25:19 2012] Logging: 13 (65 seconds)
[Tue Nov 06 16:25:24 2012] Logging: 2 (10 seconds)
[Tue Nov 06 16:25:24 2012] Logging: 14 (70 seconds)
[Tue Nov 06 16:25:29 2012] Logging: 3 (15 seconds)
[Tue Nov 06 16:25:29 2012] Logging: 15 (75 seconds)
[Tue Nov 06 16:25:34 2012] Logging: 4 (20 seconds)
[Tue Nov 06 16:25:34 2012] execution done (80 seconds)
[Tue Nov 06 16:25:39 2012] Logging: 5 (25 seconds)
[Tue Nov 06 16:25:44 2012] Logging: 6 (30 seconds)
[Tue Nov 06 16:25:49 2012] Logging: 7 (35 seconds)
[Tue Nov 06 16:25:54 2012] Logging: 8 (40 seconds)
[Tue Nov 06 16:25:59 2012] Logging: 9 (45 seconds)
[Tue Nov 06 16:26:04 2012] Logging: 10 (50 seconds)
[Tue Nov 06 16:26:09 2012] Logging: 11 (55 seconds)
[Tue Nov 06 16:26:14 2012] Logging: 12 (60 seconds)
[Tue Nov 06 16:26:19 2012] Logging: 13 (65 seconds)
[Tue Nov 06 16:26:24 2012] Logging: 14 (70 seconds)
[Tue Nov 06 16:26:29 2012] Logging: 15 (75 seconds)
[Tue Nov 06 16:26:34 2012] execution done (80 seconds)

这是 phpinfo 中的一些相关设置

=== apache2handler ===
Max Requests: Per Child: 1000 - Keep Alive: on - Max Per Connection: 200
Timeouts: Connection: 300 - Keep-Alive: 2 

=== PHP Version 5.4.5 Core Settings ===
max_execution_time     Local: 0     Master: 30
max_input_time         Local: -1    Master: -1

我已经尝试了我能想到的一切。它似乎是使用 Apache 或 PHP 进行的服务器设置,因为当我在本地主机上运行相同的脚本时,它会成功执行,就像没有双重加载一样。在它询问之前,是的,每次我进行 INI 更改或 apache 配置更改时,我都会重新启动 apache。

另外,这里是上面示例的 access_log 条目。

*.*.*.* - - [06/Nov/2012:16:43:56 -0700] "GET /test.php HTTP/1.1" 200 20 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0" *.*.*.* *********.com 80 55050278 1012 321 *.*.*.*
*.*.*.* - - [06/Nov/2012:16:44:56 -0700] "GET /test.php HTTP/1.1" 200 20 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0" *.*.*.* *********.com 80 60054985 1012 321 *.*.*.*

一旦执行时间达到 60 秒,肯定会执行此操作,因为当我将执行时间更改为 55 秒时,它会按预期运行一次。

[Tue Nov 06 16:46:00 2012] executing script...
[Tue Nov 06 16:46:00 2012] Logging: 0 (0 seconds)
[Tue Nov 06 16:46:05 2012] Logging: 1 (5 seconds)
[Tue Nov 06 16:46:10 2012] Logging: 2 (10 seconds)
[Tue Nov 06 16:46:15 2012] Logging: 3 (15 seconds)
[Tue Nov 06 16:46:20 2012] Logging: 4 (20 seconds)
[Tue Nov 06 16:46:25 2012] Logging: 5 (25 seconds)
[Tue Nov 06 16:46:30 2012] Logging: 6 (30 seconds)
[Tue Nov 06 16:46:35 2012] Logging: 7 (35 seconds)
[Tue Nov 06 16:46:40 2012] Logging: 8 (40 seconds)
[Tue Nov 06 16:46:45 2012] Logging: 9 (45 seconds)
[Tue Nov 06 16:46:50 2012] Logging: 10 (50 seconds)
[Tue Nov 06 16:46:55 2012] execution done (55 seconds)

任何对此的帮助将不胜感激!


诸如缺少图标之类的问题是否会导致您的脚本被调用两次。看http://www.webdeveloper.com/forum/showthread.php?245809-Script-Running-Twice http://www.webdeveloper.com/forum/showthread.php?245809-Script-Running-Twice。如果您将非 www 重定向到 www,也可能会发生这种情况,反之亦然。看从非 www 重定向到 www 时,PHP 在页面加载时执行两次 https://stackoverflow.com/questions/13093337/php-executes-twice-on-page-load-when-redirecting-from-non-www-to-www

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

PHP 脚本在超过 60 秒时执行两次 的相关文章

  • Smarty输出空白页

    已解决 模板文件错误 我有这样的 Smarty 设置 require once smarty Smarty class php smarty new Smarty smarty gt compile dir compile dir smar
  • 使用 php 获取当前月份的最后 3 个月

    我想获取当前月份最近 3 个月的名称 例如当前月份是八月 所以 我想要六月 七月 八月这样的数据 我已经尝试过这段代码echo date F strtotime 3 months 它只返回六月 如何使用 php 获取当前月份的最后 3 个月
  • 通过 __get() 通过引用返回 null

    快速规格 PHP 5 3 error reporting 1 the highest 我正在使用 get 通过引用技巧神奇地访问对象中任意深度的数组元素 快速示例 public function get key return isset t
  • 从 octobercms 中的非 ajax 表单获取输入值

    我正在尝试构建一个简单的搜索功能 下面是我的搜索表格
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • PHP 开发相当于 Mongrel/Webrick 吗?

    PHP 开发中是否有与 Rails 开发期间使用 Mongrel Webrick 等效的方法 我通常在端口 3000 上使用 Mongrel 在开发过程中为我的 Rails 应用程序提供服务 我从事 PHP 开发已经有几年了 据我所知 方法
  • 如何将 HTML 转换为 Markdown?

    我有一个类似 stackoverflow 的网站 有一个文本区域 人们可以在其中写答案 我用这个 PHP 库 http parsedown org 转换降价 我的意思是我使用该函数来转换 italic to i italic i inclu
  • zip 文件的校验和

    我目前正在开发一个工具 它上传一组文件 然后使用 md5 校验和将文件与上一批上传的文件进行比较 并告诉您哪些文件已更改 对于常规文件 这工作正常 但某些上传的文件是 zip 存档 即使其中的文件相同 它们几乎总是会发生变化 有没有一种方法
  • 当sql连接中存在两个同名列时,如何从一个表列中获取值

    当我连接两个具有相同名称列的表时 我目前面临着尝试获取值的问题 例如 table1 date和table2 date 每个表中的日期不同 我将如何获取 日期 本例中的表1 我目前正在跑步 while row mysqliquery gt f
  • 负载平衡集群中的 PHP 会话 - 如何?

    好的 我得到了这个完全罕见的负载平衡 PHP 网站的独特场景 令人遗憾的是 它过去没有进行负载平衡 现在我们开始遇到问题 目前唯一的问题是 PHP 会话 当然 一开始没有人想到这个问题 因此 PHP 会话配置保留为默认值 因此 两台服务器都
  • 如何在类似 MVC 的页面中加载基于漂亮 URL 的类?

    我想请教一些关于如何解决这个问题的提示 我正在尝试构建自己的 MVC 网站 我了解了 URL 的基础知识 http example com blog cosplay cosplayer expo today 博客 gt 控制器cosplay
  • 如何在 PHP 中使用 cURL 发出同时包含 GET 和 POST 参数的请求?

    其他人已经问过如何从 perl java bash 等执行此操作 但我需要在 PHP 中执行此操作 并且我没有看到任何已提出的专门与 PHP 相关的问题 或包含 PHP 的答案 My code ch curl init url curl s
  • 限制自己超载外部 API 的速率

    我发现了很多信息和脚本示例 展示了如何对 API 用户进行速率限制 但我无法找到任何示例来说明在施加这些限制时如何对您自己的 API 请求进行速率限制 我总是用诸如以下的代码来限制我的脚本sleep or usleep命令 但感觉这是一种低
  • 使用 XSLT 将 XML 转换为 SQL

    由于我无法控制的原因 我将获得一个 XML 文件和一个 XSLT 文件 该文件可以将 XML 文件转换为 SQL 代码或错误 现在让我们假设我们可以信任提供 XML 文件的人不会在 XML 中包含危险的构造 我什至不知道是否应该使用 Sim
  • 使用php将数据存储到文本文件中?

    我正在尝试将数据存储在文本文件中 例如使用 php 将数组存储到文本文件中 而不是存储到 mysql 数据库中 例如 这里是要存储在文本文件中的数据 name gt john age gt 25 location gt australia
  • 如何仅使用 PHP5 RecursiveDirectoryIterator 类递归显示具有特定文件类型的文件夹和子文件夹

    您好 我正在尝试使用 FilterIterator 上的扩展来获取 RecursiveDirectoryIterator 类 但由于某种原因 它仅在根目录上进行迭代 我的代码是这样的 class fileTypeFilter extends
  • 从支付网关重定向回时用户会话丢失

    我已将 Cyber source 配置为我的支付网关 我能够导航到 cybersource 并进行付款 并能够成功重定向回该网站 我也可以取消付款并重定向回我的网站 我收到来自支付网关的响应 但是 用户在从支付网关重定向回来时会被注销 我正
  • 如何在 Zend Framework 3 中注册自定义表单视图助手

    我正在将继承的 Zend Framework 2 应用程序迁移到 Zend Framework 3 并且在注册自定义表单视图助手时遇到了一些困难 这些助手在应用程序使用版本 2 时起作用 主要用于添加标签属性以实现可访问性 例如 这是一个自
  • 保存多对多关系,同步/附加不存在?

    我有以下两个多对多关系的模型 use Illuminate Database Eloquent Model class Permission extends Model The database table used by the mode
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee

随机推荐

  • 用于查找最后一项小于或等于的函数,例如 lower_bound

    是否有一个使用二分搜索的函数 例如lower bound但这会返回last item 小于或等于根据给定的谓词 lower bound定义为 找到的位置first有序范围内具有值的元素大于或等于指定值 其中排序标准可以由二元谓词指定 and
  • 如何向 JavaFX 图表添加价值标记?

    我正在尝试使用 JavaFX 构建一个系列图表 其中数据是动态插入的 每次插入新值时 我想检查这是否是迄今为止的最高值 如果是 我想画一条水平线来显示这是最大值 在 JFree 图表中 我会使用 ValueMarker 但我正在尝试使用 J
  • Android 可以获取视频的分辨率吗?

    我正在寻找一种方法来获取 Android 中任何给定视频的分辨率 除了 Android 支持的格式之外 它不必支持其他格式 但如果能支持那就太好了 如果您不确定 Android 支持的格式 请参阅此页面 http developer and
  • Aerospike 中的关系

    我想知道如何表示关系Aerospike 我意识到这是一个键值存储 但是有一个可以给出的例子吗 例如 如果系统中有一个用户 并且我想获取与该用户关联的事物记录列表 几个简单的想法 1 让每个用户成为具有多个容器的记录 相当于传统 RDBMS
  • 使用 ios::binary 或 ios::out 或两者打开文件有什么区别?

    我试图找出打开文件之间的区别 例如 fstream fileName FILE dat ios binary or fstream fileName FILE dat ios out or fstream fileName FILE dat
  • CSS 模拟 Chrome 中的缩放

    我想模拟 Chrome 中的打印设置 比例 在 IE11 中 我添加了 css 这似乎修复了它 但在 Chrome 中却没有 page size A4 portrait margin 1mm 1mm 0 5mm 在 Chrome 中 我必须
  • ftplib连接SFTP服务器没有错误

    我前段时间创建了一个完整的FTP库 现在我想连接到 SFTP 服务器 据我在研究中发现 使用 ftplib 是不可能的 尽管如此 我尝试连接到仅限 SFTP 的服务器 它工作正常 没有任何问题 没有错误 也没有例外 现在我有点困惑 因为我不
  • data.table v1.9.5 (R) 中 shift() 函数的奇怪行为

    我正在使用当前的开发版本data table v1 9 5 很大程度上是因为它拥有出色的内置功能shift 功能 我注意到 当尝试将语句分组时data table呼叫 其中之一是呼叫shift 我从中得到了一些奇怪的行为 library d
  • 如果我在调用 JVM 时多次指定系统属性,则使用哪个值?

    如果我在调用 JVM 时多次指定系统属性 那么当我检索该属性时 我实际会得到哪个值 例如 java Dprop A Dprop B jar my jar 当我打电话时会得到什么结果System getProperty prop The Ja
  • 将字体大小应用于 img alt 属性而不影响图像大小

    您好 我正在尝试将字体大小设置为 img替代属性但它会影响图像大小 我正在 css 中做类似的事情 HTML Code img alt Some Text src http www someimage com img 010 jpg CSS
  • 我无法在命令窗口中创建 virtualenv 来运行 django 项目

    谁能帮我解决 Windows 10 64 位电脑上的 virtuaenv 问题 当我尝试使用 Windows Powershell 命令窗口创建虚拟环境来安装 Django 项目时 我反复收到此错误 错误消息 mkvirtualenv 术语
  • Redis Slave 无法与 Master 同步

    Redis 从站不会与主站同步 连接性 我发出去的时候可以连接到master HOST NAME fakehost redis cli h HOST NAME 并使用如下命令检查主状态INFO 因此连接性不是问题 设置 从奴隶箱中 我发出了
  • 使用 Espresso IdlingResource 进行 Android 测试

    我正在尝试测试AutoCompleteTextView将在输入一些单词后显示项目 但输入和显示弹出窗口之间存在延迟 首先我用的是Thread sleep 它工作得很好 但我知道这种方法并不明确 所以我试图用IdlingResource 但这
  • 在 NetBeans 中禁用自动构建

    我正在使用 Netbeans IDE 6 7 1 我希望禁用自动构建功能 或者以某种方式更改此自动构建线程的优先级 它总是在构建 并且大大减慢了我的计算机速度 我认为正因为如此 Netbeans 有时会占用我 80 左右的 CPU 我真的不
  • HTML/CSS:滚动条出现在 HTML 元素下方

    在 Chrome 和 Safari 中 垂直滚动条出现在页面上的 HTML 内容下方 如下所示 我摆弄着 webkit scrollbar 但我能得到的最接近的是将滚动条宽度更改为0px 该部分的 div 是 displayContent
  • 如何使用 php 获取 MySQL 数据库中的枚举可能值? [复制]

    这个问题在这里已经有答案了 可能的重复 Mysql 选择枚举值 https stackoverflow com questions 4644220 mysql select enum values 我已经设立了一个专栏Mysql type
  • 如何使用 php 从 HTML 创建 pdf 文件,然后将其保存在服务器上

    我有一个项目来保存用 php 动态创建的页面并将它们存储在服务器上 我计划将该页面的副本存储为 pdf 格式 以及他们所有的图像 表格和布局 我尝试使用这些工具 DOMPDF http eclecticgeek com dompdf doc
  • android动画可以改变视图的大小吗

    是否可以通过动画改变图像大小 我想要实现的是我有一个imageView 我想使用动画来调整它的大小 将其放大 就像我设置的那样200dip在xml文件中 动画之后它变成500dip 这可能吗 我到底应该使用什么方法 任何帮助和指导将不胜感激
  • 应用程序在后台时不显示 iOS UILocalNotification

    FIXED 好的 找到了 有一个错误 UIApplication sharedApplication cancelAllLocalNotifications 在我没有预料到的时候被解雇了 好吧 这就是你的问题 感谢大家的帮助 很抱歉这只是愚
  • PHP 脚本在超过 60 秒时执行两次

    好吧 在过去的 3 个小时里 我一直在绞尽脑汁地思考这个问题 疯狂地谷歌搜索 但没有解决问题 因此 我编写了一个示例脚本来重现这一点 因为我的原始脚本大约有 800 行