繁体   English   中英

Foreach 循环在 php 的 cronjob 中不起作用

[英]Foreach loop is not working in cronjob in php

我编写了一个脚本来仅检查 CSV 文件并删除它们。

$dir = $getData['ftp_location']; //get the dir locations from db
echo $dir;
echo nl2br("\n"); 

$files = glob("$dir/*.csv"); //get only csv files

echo $files;
echo nl2br("\n");

foreach ($files as $tmpname)
{
   //do some stuff. I have also done echo here it is not working.
   echo "File Deleted";
}

所以我尝试了一个简单的 foreach 代码,如下所示:

$colors = array("red", "green", "blue", "yellow");

foreach ($colors as $value) 
{
      echo "$value <br>";
}

注意:每次运行时,我都会收到一个 email 说明 cronjob 成功运行并打印了 echo。

Email 像这样:

./文件/PVC/
大批

我没有在 foreach 循环中得到回声。

像“文件已删除”或“颜色”

如果我直接运行相同的代码,它可以正常工作,但不能通过 cronjob。 知道为什么吗?

因为 csv 路径是相对路径。

执行 cron 时,当前目录路径与 php 二进制路径相同(例如:/usr/bin/php)。

请使用绝对路径。

$dir = __DIR__. DIRECTORY_SEPARATOR. $getData['ftp_location']; //get the dir locations from db

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM