What are some best practices for setting error_reporting and debugging PHP scripts to identify issues like file copying errors?

When dealing with file copying errors in PHP scripts, it is important to set the error_reporting level to catch any warnings or errors that may occur during the operation. Additionally, enabling debugging tools such as logging or using try-catch blocks can help identify and handle any issues that arise during the file copying process.

// Set error reporting level to catch warnings and errors
error_reporting(E_ALL);

// Enable error logging to track any file copying errors
ini_set('log_errors', 1);
ini_set('error_log', 'error.log');

// Use try-catch block to handle file copying errors
try {
    $sourceFile = 'source.txt';
    $destinationFile = 'destination.txt';
    
    if (!copy($sourceFile, $destinationFile)) {
        throw new Exception('Error copying file');
    }
    
    echo 'File copied successfully';
} catch (Exception $e) {
    error_log('File copying error: ' . $e->getMessage());
}