【问题标题】:PHP Cron Job Flush/OB Flush Needed?需要 PHP Cron 作业刷新/OB 刷新?
【发布时间】:2015-10-10 05:45:33
【问题描述】:

我有很多图像或将要。 我希望通过 cron 作业定期更改图像的名称。

// mysql query -> select all images
$i = 0;
while($i < $num_images){
            // update image file name
            // update image file name in mysql DB
$i++;
}

我是否应该、是否需要使用 ob_end_flush()、ob_start()、ob_end_clean() 来帮助确保正确的功能?我没有输出任何东西,但是有很多图像。

注意:我正在处理大量图像。脚本需要很长时间才能完成。我试图找到一种方法来加快 MySQL 数据库的设置。如您所见,我正在使用 cron 作业。我可以输出文本更新,我的理解是这些函数会刷新 php 内存,但我不确定它是否会对实时文件和数据库更新产生影响。 上面的结果是它正在分块更新,因此认为如果可能的话,刷新内存以完成每个文件和数据库更新集将使其成为理想选择。 (我现在对我的情况了解得更多,所以我想我会更清楚地说明这一点,因为它令人困惑)

【问题讨论】:

  • 我不知道你为什么认为你需要输出缓冲?
  • 如果解决方案是定期重命名所有图像,我建议您重新考虑您的问题...
  • 我的问题是公开访问图像,但只在短时间内帮助阻止未经授权的访问。如果函数运行时间很长,我担心它会运行得更慢,从而导致丢失匹配名称的风险更高。这个功能非常需要准确。根据我的经验,刷新输出缓冲区可以减少堆积并帮助函数运行更顺畅。
  • 重新思考... 怎么样?有什么建议吗?

标签: php cron jobs flush


【解决方案1】:

输出缓冲区在这里不起作用。输出缓冲区旨在控制何时发送输出(回显或打印语句)。图像的重命名会在您执行语句后立即发生 - 无论您的脚本发送什么输出。

http://php.net/manual/en/intro.outcontrol.php

【讨论】:

  • 好的,谢谢,如果有某种好处,或者甚至可能的话,我并不是非常肯定。
猜你喜欢
  • 1970-01-01
  • 2019-01-16
  • 1970-01-01
  • 2018-03-19
  • 2021-09-30
  • 1970-01-01
  • 1970-01-01
  • 2015-08-01
  • 1970-01-01
相关资源
最近更新 更多