在 PHP EventSource 中處理異常情況,可以使用 try-catch 語句來捕獲和處理異常。這樣可以確保在發生錯誤時,代碼仍然能夠正常運行,而不會導致程序崩潰。
以下是一個簡單的示例,展示了如何在 PHP EventSource 中處理異常:
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
function send_message($id, $data) {
echo "id: {$id}" . PHP_EOL;
echo "data: {$data}" . PHP_EOL;
echo PHP_EOL;
ob_flush();
flush();
}
$id = 1;
while (true) {
try {
// 模擬從數據庫或其他數據源獲取數據
$data = get_data_from_source();
// 發送數據到客戶端
send_message($id, $data);
// 增加 ID
$id++;
// 每隔 1 秒發送一次數據
sleep(1);
} catch (Exception $e) {
// 處理異常情況,例如記錄日志或發送錯誤信息
error_log("Error: " . $e->getMessage());
send_message($id, "Error: " . $e->getMessage());
}
}
在這個示例中,我們使用 try-catch 語句來捕獲可能發生的異常。如果發生異常,我們將錯誤信息記錄到日志中,并將錯誤信息發送給客戶端。這樣,即使發生異常,EventSource 也可以繼續運行。