这是我的问题:我正在使用生成PDF的Zend应用程序(使用Html2PDF),这些文件与PDFmerge合并,然后发送一封电子邮件,附件中的最终文件。 当我想要生成11个PDF时,文件全部生成,合并的文件也会生成,但不会发送电子邮件。该脚本使用exec()函数执行:
exec("php ".DOCUMENT_TOOT.generate_bulk.php " ".escapeshellarg(serialize($formData)), $output, $return);
和$ output将此返回给我:
"Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 32 bytes) in DOCUMENT_ROOT/Library/Zend/Mail/Protocol/Smtp.php on line 315"
如果我没错,脚本使用32Mo内存,但我的memory_limit设置为1024M ...
这是发送邮件的功能:
public function sendBulkEmail ($bulknumber) {
$mail_bulk=new Zend_Mail();
$mail_bulk->setFrom('noreply@mydomain.com');
$mail_bulk->setSubject($bulknumber);
$mail_bulk->addTo('customer@mydomain.com');
$config = array('auth' => 'login',
'username' => 'email@mydomain.com',
'password' => 'mypassword');
$transport = new Zend_Mail_Transport_Smtp('ssl0.ovh.net', $config);
$mail_bulk->setBodyHtml("Text text text");
$mail_bulk->createAttachment(file_get_contents(DOCUMENT_ROOT.$bulknumber.".pdf"), "application/pdf", Zend_Mime::DISPOSITION_ATTACHMENT, Zend_Mime::ENCODING_BASE64, $bulknumber.".pdf");
$mail_bulk->send($transport);
PDF的大小是1.05 Mo(因此,不能太大而无法通过电子邮件发送)。
所以,如果有人可以帮助我,那就太棒了......!谢谢