We currently have an error catching script for all our PHP sites. This script uses a combination of set_error_handler & register_shutdown_function to catch all errors that occur including Memory exhaustion errors then sends us an email so that we can respond and fix the error.
Unfortunately in case of memory exhaustion errors the script has no more memory and can't complete sending the email. I've tried updating the memory limit in the error handler function so the script can complete the error but this doesn't seem to work. Is there a way to force PHP to dump it's memory so that there is enough to send the error email? Or perhaps to detect and unset the largest memory items?
EDIT: I should clarify that I'm using PHPMailer to send an email. I'm looking into using just mail in the case of a memory exhaustion error.