从 CRON 作业运行时,PHP 脚本和内存分配的处理方式是否不同


Are php scripts and memory allocation handled diffently when run from a CRON job?

我有一个从CRON作业运行的php脚本,该脚本抛出内存错误。

致命错误:允许的内存大小 268435456 字节已耗尽(已尝试) 分配 7081367 字节) /home/nclos2/public_html/testing/larrygoins/blaster/php_mail/class.phpmailer.php 在 2174 行

PHP。INI 的内存分配为 256M,此脚本在浏览器中运行没有问题。

脚本中有一个循环,用于创建附件,然后通过电子邮件发送它们。

While ($x = $y->fetch()){
//make the attachments
    email_it();
}
function email_it(){
// I am using PHPMailer class
    $mail = new PHPMailer;
// do all the usual stuff
    $mail->addAttachment(....);
    $mail->send();
}

如果我循环 49 次,这是创建 49 个不同的实例导致我的内存问题还是每次都覆盖它?

在大多数系统中,通过命令行运行的 PHP 使用不同的php.ini文件,该文件可能具有不同的设置。如果您这样做php -i | grep php.ini它应该告诉您正在使用哪个文件。