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

时间:2015-12-21 16:00:14

标签: php cron cpanel

主旨

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

我的想法

我提出的唯一方法是通过cPanel添加cron作业,设置为“每分钟一次。”这意味着每分钟设置一个cron作业来检查目标PHP页面是否有任何内容在那一刻做。

问题

如果每天每分钟都检查一次页面,会不会对主机造成损害,可能会出现问题? (可能会对CPU造成损害或占用内存空间等)如果是这样,如何改进呢?

2 个答案:

答案 0 :(得分:2)

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

#!/usr/bin/php    

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

转到服务器的命令行并输入“which php”。将上面的/usr/bin/php替换为返回的DROP table table1; create table table1(tripid number, sequence number, pattern CHAR(1)); insert into table1 values (1,1,null); insert into table1 values (1,2,null); insert into table1 values (1,3,null); insert into table1 values (2,1,null); insert into table1 values (2,2,null); DROP table table2; create table table2(tripid number, pattern CHAR(1)); insert into table2 values (1,'A'); insert into table2 values (2,'B'); commit; select table2.tripid, table2.pattern from table2,table1 where table1.tripid = table2.tripid; update table1 set table1.pattern = (select pattern from table2 where table1.tripid = table2.tripid) where exists (select pattern from table2 where table1.tripid = table2.tripid); commit; select * from table1; 。然后在CRON中调用此bash脚本。

答案 1 :(得分:0)

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