可能重复:
php中允许的内存大小为33554432字节(尝试分配43148176字节)
我在执行代码时遇到以下错误。
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes)
尝试了ini_集('memory_limit','128M')
也可以,但不起作用。我的php.ini文件中的内存限制是128MB。请帮忙。
我正在添加代码。我是php新手,请帮助我解决这个问题。
<?php
require_once 'lib/swift_required.php';
$hostname = '{imap.abc.com:993/imap/ssl}INBOX';
$username = 'username';
$password = 'password';
$connection = imap_open($hostname,$username,$password) or die('Cannot connect to Tiriyo: ' . imap_last_error());
ini_set('memory_limit', '256M');
function Message_Parse($id)
{
global $connection;
if (is_resource($connection))
{
$result = array
(
'text' => null,
'html' => null,
'attachments' => array(),
);
$structure = imap_fetchstructure($connection, $id, FT_UID);
//print_r($structure);
//array_key_exists — Checks if the given key or index exists in the array
if (is_array($structure) && array_key_exists('parts', $structure))
{
foreach ($structure->parts as $key => $part)
{
if (($part->type >= 2) || (($part->ifdisposition == 1) && ($part->disposition == 'ATTACHMENT')))
{
$filename = null;
if ($part->ifparameters == 1)
{
$total_parameters = count($part->parameters);
for ($i = 0; $i < $total_parameters; $i++)
{
if (($part->parameters[$i]->attribute == 'NAME') || ($part->parameters[$i]->attribute == 'FILENAME'))
{
$filename = $part->parameters[$i]->value;
break;
}
}
if (is_null($filename))
{
if ($part->ifdparameters == 1)
{
$total_dparameters = count($part->dparameters);
for ($i = 0; $i < $total_dparameters; $i++)
{
if (($part->dparameters[$i]->attribute == 'NAME') || ($part->dparameters[$i]->attribute == 'FILENAME'))
{
$filename = $part->dparameters[$i]->value;
break;
}
}
}
}
}
$result['attachments'][] = array
(
'filename' => $filename,
'content' => str_replace(array("\r", "\n"), '', trim(imap_fetchbody($connection, $id, ($key + 1), FT_UID))),
);
}
else
{
if ($part->subtype == 'PLAIN')
{
$result['text'] = imap_fetchbody($connection, $id, ($key + 1), FT_UID);
}
else if ($part->subtype == 'HTML')
{
$result['html'] = imap_fetchbody($connection, $id, ($key + 1), FT_UID);
}
else
{
foreach ($part->parts as $alternative_key => $alternative_part)
{
if ($alternative_part->subtype == 'PLAIN')
{
echo '<h2>' . $alternative_part->subtype . ' ' . $alternative_part->encoding . '</h2>';
$result['text'] = imap_fetchbody($connection, $id, ($key + 1) . '.' . ($alternative_key + 1), FT_UID);
}
else if ($alternative_part->subtype == 'HTML')
{
echo '<h2>' . $alternative_part->subtype . ' ' . $alternative_part->encoding . '</h2>';
$result['html'] = imap_fetchbody($connection, $id, ($key + 1) . '.' . ($alternative_key + 1), FT_UID);
}
}
}
}
}
}
else
{
$result['text'] = imap_body($connection, $id, FT_UID);
}
$result['text'] = imap_qprint($result['text']);
$result['html'] = imap_qprint(imap_8bit($result['html']));
return $result;
//echo $result;
}
return false;
}
$emails = imap_search($connection,'ALL');
rsort($emails);
foreach($emails as $email_number) {
$result = Message_Parse($email_number);
//print_r($structure);
// echo $result['text'];
//echo $result['html'];
//echo $result['attachments'];
// Create the Transport
$transport = Swift_MailTransport::newInstance();
// Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);
// Create a message
$message = Swift_Message::newInstance('Bismillahhirrahmanirraheem')
->setFrom(array('as@aaa.com' => 'jf faz'))
->setTo(array('acc@aa.com'))
->setBody($result['text'], 'Here is the message itself');
$result1 = $mailer->send($message);
?>
128M==134217728
,你看到的数字。
内存限制正常工作。当它说它试图分配32个字节时,这是失败前最后一次操作请求的数量。
您是否正在构建任何大型数组或读取大型文本文件?如果是这样,记得释放你不再需要的任何内存,或者将任务分解成更小的步骤。
试一试ini_set('memory_limit','256M')
134217728字节=128 MB
或者重写代码以减少内存消耗。
我有一个PHP的问题,我只是想尝试调用方法 我得到错误: 致命错误:允许的内存大小为134217728字节耗尽(试图分配1字节)在C:\xampp\htdocs\aa-acc\包括\Produk_Method.php在第13行 我尝试过这个答案:在php中允许内存大小为33554432字节(尝试分配43148176字节) 我仍然得到这个错误: 致命错误:内存不足(分配1881931776)(尝试分
我在PHP中使用重载,我的PHP代码有什么问题,即使只有8行代码: 上面写着: “致命错误:允许的内存大小134217728字节已用尽(试图分配262144字节)”
我做了一个函数会返回序号的第N位,例如: 1234567891011121314151617 第五位是5 当我执行该命令时,我遇到了如下错误消息“致命错误:允许的内存大小134217728字节已用尽(尝试分配36字节)”。可能是因为我在var 我怎样才能解决这个问题…或者我怎样才能生成一个函数来处理这些大的数 谢谢
我正在使用PHPExcel(在这里找到:https://github.com/PHPOffice/PHPExcel)。如果我尝试读取超过大约2000行,然后它显示内存错误如下。 致命错误:第89行的/home/sample/PHPExcelReader/Classes/PHPExcel/sheetwork.php中允许的134217728字节内存已耗尽(尝试分配71字节) 我的Excel数据范围是
当我尝试在wordpress脚本中打开一个仪表板页面时出错 错误消息如下所示: 致命错误:第2685行的/home/admin/domains/filesick.com/public_html/wp-includes/taxonomy.php中允许的内存大小为268435456字节(尝试分配71字节) 我四处询问,他们告诉我必须将内存限制提高到256M以上,所以我将其改为512M,但仍然存在同样的
我在PHPExcel中的内存有问题 这是错误消息: 致命错误:允许的内存大小67108864字节耗尽(试图分配78字节)在 /home/***/public_html/系统/PHPExcel/类/PHPExcel/CachedObjectStore/Memory.php行55 这是我的: 我是PHP的新手。请帮帮我,非常感谢。