PHP Fatal error: tükenmiş 33554432 bayt İzin bellek boyutu (41007872 bayt ayırmaya çalıştı)

2 Cevap php

I () işlevi postayı aramak için çalıştığınızda bu hatayı alıyorum.

O içine diğer tüm dosyaları () 'ler arasında - Hangi - I ini_set('memory_limit', '64m') benim index.php dosyasına ekleyerek denedim ama bunu düzeltmek vermedi.

Ben daha sonra PDO Class not found hataları bana verdi içeriği memory_limit = 64M ile (index.php bulunduğu) kök dizine bir php.ini dosyasını ekleyerek denedim. Yani php.ini dosyasına PDO uzantıları eklendi ve şimdi tüm hataları gitti.

Ancak, kod hala başarısız. phpinfo () bellek sınırı 64M artış olmuştur gösterir ama benim mail () fonksiyonu sayfanın yürütme öldürüyor.

Bunu nasıl düzeltebilirim? :/

Mail function

private static function emailPassword(SafeString $email, $password)
{
   $subject  = 'Registration';
   $message  = 'Your password is: ' . $password . "\n";
   $headers  = 'From: registration@domain.com'     . "\r\n";
   $headers .= 'Reply-to: registration@domain.com' . "\r\n";

   $message = str_replace("\n.", "\n..", $message);  

   if (!mail($email->unsafeRaw(), $subject, $message, $headers))
   {
      throw new Exception('Failed');
   }
}

2 Cevap

(33 554 432 bayt) + (41 007 872 bayt) = 71,1081543 megabayt

96M için memory_limit ayarlayın ve bir gün onu aramak!

Ben SafeString sınıfa bakarsanız, ben unsafeRaw () yöntemini görmüyorum, ama toUnsafeRawString () yöntemi yoktur. Eğer hata ayıklama denedin mi?

Yine ham değerleri kullanarak eğer btw Neden bu sınıf kullanmak istiyorsunuz? Bu hiç mantıklı değil.