我正在尝试用PHP运行一个cron作业。但exec
和system
功能并不起作用。 (因为出于安全原因,服务器管理员不允许我使用这两个函数)但是,我仍然需要使用PHP来运行它,因为运行时间由公式决定并且它是由不确定。因此,如何在不使用PHP中的exec
或system
函数的情况下运行cron作业?
我提出的唯一方法是通过cPanel添加cron作业,设置为“每分钟一次。”这意味着每分钟设置一个cron作业来检查目标PHP页面是否有任何内容在那一刻做。
如果每天每分钟都检查一次页面,会不会对主机造成损害,可能会出现问题? (可能会对CPU造成损害或占用内存空间等)如果是这样,如何改进呢?
答案 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分钟取消一次。