In what ways can memory consumption affect the performance of a PHP script, and how can developers optimize memory usage for long-running scripts?

Memory consumption can affect the performance of a PHP script by causing it to slow down or even crash if the available memory is exceeded. Developers can optimize memory usage for long-running scripts by using techniques such as limiting the number of variables stored in memory, freeing up memory when it is no longer needed, and avoiding recursive functions that can consume excessive memory.

// Example of optimizing memory usage in a PHP script
// Limit the number of variables stored in memory
$var1 = "This is a variable";
$var2 = "Another variable";
unset($var2); // Free up memory when variable is no longer needed

// Avoid recursive functions that can consume excessive memory
function factorial($n) {
    if ($n <= 1) {
        return 1;
    } else {
        return $n * factorial($n - 1);
    }
}

echo factorial(5); // This can consume a lot of memory for large values of $n