<?php
/**
* Teardown function for experiment cleanup.
* Performs defensive checks to prevent errors.
*/
function teardownExperiment() {
// Defensive check: Ensure the environment variables exist before attempting to unset them.
if (isset($_SERVER['TMP'])) {
unset($_SERVER['TMP']);
//echo "Unset TMP environment variable.\n"; // Debugging - remove in production
}
if (isset($_SERVER['TEMP'])) {
unset($_SERVER['TEMP']);
//echo "Unset TEMP environment variable.\n"; // Debugging - remove in production
}
// Defensive check: Ensure the directory exists before attempting to remove it.
$tempDir = sys_get_temp_dir();
if ($tempDir) {
if (is_dir($tempDir)) {
if (rmdir($tempDir)) {
//echo "Removed temporary directory: " . $tempDir . "\n"; // Debugging - remove in production
} else {
error_log("Error removing temporary directory: " . $tempDir);
}
}
}
// Defensive check: Attempt to kill any lingering processes. This is a best-effort approach.
$pid = proc_close(null); // Kill all processes
if ($pid !== false) {
//echo "Killed processes.\n"; // Debugging - remove in production
} else {
error_log("Error killing processes.");
}
// Defensive check: Ensure the log file exists before trying to remove it.
$logFile = 'experiment.log'; // Or use a dynamically generated path
if (file_exists($logFile)) {
if (unlink($logFile)) {
//echo "Removed log file: " . $logFile . "\n"; // Debugging - remove in production
} else {
error_log("Error removing log file: " . $logFile);
}
}
}
?>
Add your comment