我尝试使用cron创建我的第一个严肃任务,必须下载远程文件(货币汇率)并在本地保存。我的设置是W7 / WMware Workstation 12 Player + Ubuntu 16.04。当我在localhost上运行它或调试它(netbeans)时,一切都很完美。但是当cron作业运行时(每隔2分钟),我会遇到奇怪的错误 -
std::condition_variable::wait
我的php文件如下所示:
*/2 * * * * /var/www/html/myproject/cron/cnb.php
从Web浏览器本地运行时,可以正确创建rates.txt。但是cron会产生以下错误(通过电子邮件发送的信息):
<?php
//ini_set('display_errors',1);
//error_reporting(E_ALL);
Define("RATES_FILE", "http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt");
$rates= file(RATES_FILE);
if($rates){
$myfile = fopen("/var/www/html/myproject/cron/rates.txt", "w");
$info = getdate();
$hour = $info['hours'];
$min = $info['minutes'];
$sec = $info['seconds'];
$current_date = "$hour:$min:$sec";
foreach ($rates as $v) {
fwrite($myfile, $v);
}
fwrite($myfile,"Downloaded: ".$current_date);
fclose($myfile);
}
exit();
?>
当我运行更简单的代码时,给出了相同的结果:
/var/www/html/myproject/cron/cnb.php: 1:
/var/www/html/myproject/cron/cnb.php: cannot open ?php: No such file
/var/www/html/myproject/cron/cnb.php: 2:
/var/www/html/myproject/cron/cnb.php: Syntax error: word unexpected (expecting ")")
在cron练习方面有什么我忽略或忽略的吗?谢谢你的帮助。