使用CRON

时间:2019-12-18 20:03:07

标签: php hyperlink cron fopen

我有一个有效的CRON请求(调用并返回一些结果)。

* * * * * links -dump https://my.domain/cron.php > /home/users/wooqash/public_html/my.domain/cron.txt 2>> /home/users/wooqash/public_html/my.domain/cron_errors.txt

cron.php文件:

<?php
$filename = $_SERVER["DOCUMENT_ROOT"]."cron.txt";
if (file_exists($filename)) {
    $filesize = filesize($filename);
    echo $filesize."<br />";
    if ($filesize) {
        $file = fopen($filename, "r");
        echo "1<br />";
        echo fread($file, $filesize)."<br />";
        fclose($file);
    }
    echo "2<br />";
}
echo "<br />";
echo "test ".time();
?>

当我在网络浏览器(https://my.domain/cron.php)中打开此页面时,一切正常:

30
1
0 2 test 1576699141
2

test 1576699151

但是当CRON运行代码时:

   0
   2

   test 1576699141

我不能在此主机上使用wgetcurl,并且links不能完美运行。为什么?

1 个答案:

答案 0 :(得分:0)

您遇到此问题的原因是,在cli模式下运行时未设置$ _SERVER ['DOCUMENT_ROOT']。

尝试使用__DIR__来获取文件所在的文件夹,如下所示:

<?php

$filename = __DIR__ . DIRECTORY_SEPARATOR . 'cron.txt';