私は自分のcron PHPスクリプトで次の送信用の電子メールを作成しようとしています。 そしてZend_Viewを電子メールテンプレートのレンダリングに使用します。 私は50,000人のユーザーを持っていますが、64MBのメモリー制限と7200と128MBで3000の電子メールが作成されました。電子メールZend Frameworkビューレンダリングに大量のメモリが必要です
public function prepareEmailBody($template, $templates)
{
$view = new Zend_View(array('basePath' => './application/views'));
$template_file_name = $template . '.phtml';
foreach ($templates as $key => $value) {
$view->$key = $value;
}
$body = $view->render('mails/' . $template_file_name);
return $body
}
そして
foreach ($users as $user) {
.....
$text = Mailer::getInstance()->prepareEmailBody($template, $vars);
.....
}
にこの方法を使用するレンダリングの コードのコードを最適化する方法をアドバイスしてください。
十分なコードを提供していません。貼り付けたものは、単一のZend_Viewを使用します。とにかく、Zend_Frameworkの世界へようこそ。それはメモリを消費します。そのため、APCとキャッシュのすべてを使用する必要があります。 – Layke
各ユーザーのデータがこのテンプレートに貼り付けるため、レンダリングビューをキャッシュできません。 – Dmitro
本当に問題はビューレンダリングを使用しています。なぜなら、$ text = 'some text'; 50kのメールがすべて作成されました。 – Dmitro