How can a PHP script be structured to ensure successful execution when triggered by a CronJob for tasks like checking and sending emails based on specific conditions?

To ensure successful execution of a PHP script triggered by a CronJob for tasks like checking and sending emails based on specific conditions, the script should include error handling, logging mechanisms, and proper environment setup. Additionally, the script should be structured in a way that handles any potential issues gracefully to prevent interruptions in the CronJob's execution.

<?php

// Set the appropriate timezone
date_default_timezone_set('America/New_York');

// Error reporting
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Log file path
$logFile = '/path/to/log/file.log';

// Open log file for writing
$logHandle = fopen($logFile, 'a');

// Function to log messages
function logMessage($message) {
    global $logHandle;
    fwrite($logHandle, date('Y-m-d H:i:s') . ' - ' . $message . PHP_EOL);
}

// Main script logic
try {
    // Your email checking and sending logic here

    // Log success message
    logMessage('Emails checked and sent successfully');
} catch (Exception $e) {
    // Log error message
    logMessage('Error: ' . $e->getMessage());
}

// Close log file
fclose($logHandle);

?>