php在使用cronjob执行时不会创建文件


php does not create a file when executed with cronjob

我有一个非常简单的php文件,每次运行都会创建一个文本文档:

$date = date('Y-m-d H-i-s', time());
$log_name = "Cronjob". $date;
if($fh = fopen($log_name,'w')){
    fwrite($fh, print_r($date));
    fclose($fh);
}

当我使用浏览器运行该文件时,会在服务器上创建一个txt文件。当我使用cronjob运行该文件时,它不会创建txt文件。当我转到服务器上的private>cron.log时,我看到cronjob运行良好,结果被打印到cron.log中

有人能告诉我为什么吗?我需要在服务器上写那个文件:)

在cronjob中执行时,需要提供完整路径。脚本不在其所在的目录中执行,因此相对路径不起作用。

$absolut_path = "whatever your absolutpath is"; // maybe something like /var/www/html/
$log_name = $absolut_path."Cronjob". $date;