我在嘗試調用mail()函數時收到此錯誤。PHP致命錯誤:允許內存大小爲33554432字節耗盡(試圖分配41007872字節)
我試着將ini_set('memory_limit', '64m')
添加到我的index.php文件中 - 其中包括()所有其他文件 - 但它沒有解決它。
然後我嘗試添加一個php.ini文件到根目錄(其中index.php駐留)與內容memory_limit = 64M
然後給我PDO類未找到錯誤。所以我在PDO擴展中添加了php.ini文件,現在所有錯誤都消失了。
但是,代碼仍然失敗。 phpinfo()顯示內存限制已增加到64M,但我的mail()函數正在查殺頁面的執行情況。
我該如何解決這個問題? :/
郵件功能
private static function emailPassword(SafeString $email, $password)
{
$subject = 'Registration';
$message = 'Your password is: ' . $password . "\n";
$headers = 'From: [email protected]' . "\r\n";
$headers .= 'Reply-to: [email protected]' . "\r\n";
$message = str_replace("\n.", "\n..", $message);
if (!mail($email->unsafeRaw(), $subject, $message, $headers))
{
throw new Exception('Failed');
}
}
「郵件」功能可能不是你的問題,它可能只是已經滿桶的最後一滴。嘗試在代碼的其餘部分找到問題。 – deceze 2010-02-17 04:29:53
試圖分配40MB ...你的unsafeRaw()方法在做什麼? – Arkh 2010-02-17 11:08:40