如何在不使用 PHP 中的 exec 或系统函数的情况下运行 cron 作业


How to run a cron job without using exec or system function in PHP?

要点

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

我的想法

我想出的唯一方法是通过cPanel添加cron作业,该作业设置为"每分钟一次"。这意味着每分钟设置一个 cron 作业,以检查目标 PHP 页面当时是否有任何关系。

问题

如果它每天每分钟检查一次页面,可能会有一个问题,它不会损坏主机吗?(也许会对CPU造成损坏或占用内存空间等(如果是这样,如何改进?

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

#!/usr/bin/php    
    /path/to/my/php/file.php

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

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