簡體   English   中英

使用AddEmbeddedImage時發生內存泄漏

[英]Memory leak when using AddEmbeddedImage

每當我在PHPMailer使用AddEmbeddedImage時,都會出現此錯誤:

致命錯誤:659行上的C:\\ xampp \\ htdocs \\ project \\ phpmailer \\ class.smtp.php中的134217728字節已用盡內存大小(嘗試分配4096字節)

這是659行

$lines = explode("\n", str_replace(array("\r\n", "\r"), "\n", $msg_data));

這是代碼的一部分:

$mail->Body = '
    <html>
        <head>
            <title>Sign-Up Verification</title>
        </head>
        <body style="text-align:center;">
            <img src="cid:letterhead">
        </body>
    </html>
';
$mail->AddEmbeddedImage('img/letterhead.jpg', 'letterhead', 'letterhead.jpg');

相對路徑是正確的,所以我認為這不是問題。 我已經嘗試過使用絕對路徑:

<img src="C:\xampp\htdocs\project\img\letterhead.jpg"/>

盡管錯誤消失了,但郵件中沒有顯示圖像。

有關該錯誤的線程說,增加內存限制應將其刪除,但是為了安全起見,我試圖避免編輯php.ini 我還查看了有關使用AddEmbeddedImage()線程,但是沒有一個問題說明該錯誤,並且語法正確。

我真的應該增加內存限制嗎? 還是本地主機問題?

更新

嘗試使用較小的圖像(大小為1.5mb原始圖像為26.7mb) ,我現在遇到的錯誤是

致命錯誤:第999行的C:\\ xampp \\ htdocs \\ amac2017 \\ phpmailer \\ class.smtp.php中超過30秒的最大執行時間

999行

$result = fwrite($this->smtp_conn, $data);

PHPMailer::AddEmbeddedImage()很流行用於在電子郵件中添加圖像,因此不太可能導致內存泄漏。 可以根據需要調整PHP的配置文件。 也許您可以縮小圖片范圍並適當地調整php.ini。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM