RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 648064
Accepted
curveball
curveball
Asked:2020-04-04 08:56:39 +0000 UTC2020-04-04 08:56:39 +0000 UTC 2020-04-04 08:56:39 +0000 UTC

通过 cron 执行一个可能很长的 php 脚本

  • 772

我会马上说我不是 php 程序员,但需要在共享主机上执行一个可能很长的脚本 (php)。该任务与更新数据库中的[潜在]大量记录有关。为此,我计划创建一个 cron 作业。在这方面,以下问题:我是否正确理解使用 cron 之类的东西运行的脚本没有执行时间和内存限制(除了主机为我的关税设置的相对较大的内存和处理器时间物理限制)?也就是说,脚本不会运行,例如大约 5 分钟,然后它会在没有完成开始的情况下悄悄崩溃吗?是否可以保证脚本运行到最后并正确退出,即使它在后台缓慢沙沙作响?而且一般来说,

php
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. aleksandr barakin
    2020-04-04T15:56:59Z2020-04-04T15:56:59Z

    在描述的用于启动php解释器的两个选项中- 从http服务器和命令行(==“从 cron 作业”),php.ini通常使用不同的配置文件 ()。因此,解释器可以接收完全不同的配置参数。

    您可以使用php函数查看这些参数phpinfo()(顺便说一句,所用参数的路径也将出现在输出的开头php.ini):

    1. 从http服务器调用:在站点的文档根目录中创建一个具有任意名称和后缀.php(例如, )的文件,info.php内容如下:

      <?php phpinfo();
      

      并从http浏览器访问它-http://ваш.сайт/info.php

    2. 命令行调用:

      $ php -r 'phpinfo();'
      

      甚至更短:

      $ php -i
      

    比较时,注意你感兴趣的配置参数:max_execution_time和memory_limit。

    如果您对任何配置参数不满意,那么从命令行启动时,您可以使用以下选项覆盖它们-d:

    $ php -d 'параметр=значение' ...
    

    或者,更彻底地,通过php.ini使用必要的参数创建您自己的参数,并指定使用它:

    $ php -c /путь/к/вашему/php.ini ...
    
    • 3
  2. Best Answer
    Ипатьев
    2020-04-04T16:13:54Z2020-04-04T16:13:54Z

    我是否正确理解使用 cron 之类的东西运行的脚本没有执行时间限制

    正确的

    和记忆

    错误的

    是否保证脚本运行到最后并正确退出

    只有主神作保证。这是一个奇怪的问题,当然不可能有肯定的答案。
    如果我们只是在谈论运行时的偏离,那么是的,这是有保证的。但是崩溃的其他原因,从脚本中的错误到重新启动服务器,都没有被取消。
    或者,例如,脚本沙沙作响的时间太长,以至于下一次 cron 运行会启动第二个副本,这会破坏第一个副本的结果。

    就上述任务的 php-cron 包而言,我正朝着正确的方向前进

    好吧,如果你需要保证服务的持续运行,那么你可以搞一个自制的守护进程,比如循环运行一个命令的shell脚本。但这取决于任务。顺便说一下,问题中没有一个字。

    • 3

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    Python 3.6 - 安装 MySQL (Windows)

    • 1 个回答
  • Marko Smith

    C++ 编写程序“计算单个岛屿”。填充一个二维数组 12x12 0 和 1

    • 2 个回答
  • Marko Smith

    返回指针的函数

    • 1 个回答
  • Marko Smith

    我使用 django 管理面板添加图像,但它没有显示

    • 1 个回答
  • Marko Smith

    这些条目是什么意思,它们的完整等效项是什么样的

    • 2 个回答
  • Marko Smith

    浏览器仍然缓存文件数据

    • 1 个回答
  • Marko Smith

    在 Excel VBA 中激活工作表的问题

    • 3 个回答
  • Marko Smith

    为什么内置类型中包含复数而小数不包含?

    • 2 个回答
  • Marko Smith

    获得唯一途径

    • 3 个回答
  • Marko Smith

    告诉我一个像幻灯片一样创建滚动的库

    • 1 个回答
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Алексей Шиманский 如何以及通过什么方式来查找 Javascript 代码中的错误? 2020-08-03 00:21:37 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5