【问题标题】:How to run a cron job without using exec or system function in PHP?如何在不使用 PHP 中的 exec 或系统函数的情况下运行 cron 作业?
【发布时间】:2015-12-22 09:10:23
【问题描述】:

要点

我正在尝试在 PHP 中运行 cron 作业。但是execsystem 函数不起作用。 (因为服务器管理员出于安全原因不允许我使用这两个功能)但是,我仍然需要使用PHP来运行它,因为运行时间是由公式决定的,并且不确定。因此,如何在不使用 PHP 中的execsystem 函数的情况下运行 cron 作业?

我的想法

我想出的唯一方法是通过设置为“每分钟一次”的 cPanel 添加 cron 作业。这意味着每分钟设置一个 cron 作业来检查目标 PHP 页面此时是否有任何事情要做。

问题

如果它总是每天每分钟检查一次页面,可能会出现问题,它不会损坏主机吗? (可能会导致CPU损坏或者占用内存空间等)如果有,如何改善?

【问题讨论】:

  • 你的意图很好,但是我不会太在意它会对 CPU 和/或 HDD 等产生多大影响。它是硬件,这就是它存在的原因。

标签: php cron cpanel


【解决方案1】:

你可以调用一个 bash 脚本,其中包含对 PHP-CLI 的调用,然后是文件:

#!/usr/bin/php    

    /path/to/my/php/file.php

转到服务器的命令行并键入“which php”。将上面的/usr/bin/php 替换为返回的内容。然后你在你的 CRON 中调用这个 bash 脚本。

【讨论】:

  • 对不起,我不明白你的意思。顺便说一句,我正在租用不是 VPN 主机的虚拟主机。所以去服务器的命令行可能是一件困难的事情。
  • 啊。关键是您可以在许多主机上运行 bash 脚本。你必须和你的人核实一下,看看他们是否允许。
  • 圣诞快乐 Sam,希望你玩得开心 :] 也许你会得到另一个 viper 作为圣诞礼物。
  • RR 祝你圣诞快乐! @Rizier123
  • 通常在Cpanel中如果你没有关闭那个可能性,你可以在提供Cpanel的信息系统上知道php的路径。然后你就可以按照你说的去做。你不需要 shell 访问来做这个。
【解决方案2】:

正如你所说,你有一个 cpanel 服务器,我猜它是一个 linux 机器。您可以通过键入crontab -e 从 linux 机器运行 cronjob,然后运行 ​​php 脚本。 */5 * * * * /usr/bin/php /path/to/file.php 每 5 分钟取消一次。

【讨论】:

    猜你喜欢
    • 2017-01-23
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-19
    相关资源
    最近更新 更多