我有這個問題,其中cron運行一個php腳本每5分鐘更新一個列表。Fwrite失敗w/PHP Cron
但是,列表未能更新5%的時間,並且列表最終爲空。我不相信它與cron有關,因爲我認爲我沒有像100次嘗試那樣兩次手動生成列表。
我相信它與此相關的是,當網站上有超過50人時,它將無法生成,可能與服務器繁忙有關。我添加了一個檢查,以確保它不是MySQL不返回行(這似乎不可能),但它仍然會導致我相信fwrite失敗。
<?
$fileHandle = fopen("latest.html", 'w');
$links = array();
$query1 = $db_conn -> query("SELECT * FROM `views` ORDER BY `date` DESC LIMIT 0,20");
while ($result1 = $db_conn -> fetch_row($query1))
{
$result2 = $db_conn -> fetch_query("SELECT * FROM `title` WHERE `id` = '" . $result1['id'] . "'");
array_push($links, "<a href='/title/" . $result2['title'] . "'>" . $result2['title'] . "</a>");
}
if (count($links) > 0)
fwrite($fileHandle, implode(" • ", $links));
else
echo "Didn't work!";
fclose($fileHandle);
?>
難道文件在使用中會有一點點機會,所以最終不能工作並寫入空白列表?
日誌說什麼? – Michal 2012-04-16 17:58:35
在cron或網站的php日誌中找不到任何錯誤(它可能不在那裏,因爲它在技術上不是從站點執行的?)。 – 2012-04-16 18:20:42