簡體   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