以下是完整的错误:
致命错误:允许内存大小为134217728字节耗尽(尝试分配131072字节) /sites/apps/seller/www/application/libraries/Excel/PHPExcel/CachedObjectStorage/CacheBase.php行173
这是mu代码:
public function excel_per_kategori($status = NULL){
$user_id = $this->ion_auth->user()->row()->id;
if($status=='out_of_stock'){
$cek_kategori = $this->db
->select('kategori.nama_kategori as nama, kategori.id')
->join('kategori', 'kategori.id = produk.kategori')
->where('produk.created_by', $user_id)
->where('produk.stok', 0)
->order_by('kategori.nama_kategori','asc')
->group_by('kategori.id')
->get('produk')->result()
;
}else{
$this->db->select('kategori.nama_kategori as nama, kategori.id');
$this->db->join('kategori', 'kategori.id = produk.kategori');
$this->db->where('produk.created_by', $user_id);
if($status!=NULL){
if($status == 3){
$this->db->select('produk_ditolak.created_at as tanggal_qc');
$this->db->join('produk_ditolak','produk.id = produk_ditolak.produk_id');
}
$this->db->where('produk.status', $status);
}
$this->db->order_by('kategori.nama_kategori','asc');
$this->db->group_by('kategori.id');
$cek_kategori = $this->db->get('produk')->result();
}
if($status == null){
$nama_file = "semua_produk_per_kategori.xlsx";
}elseif($status == "1"){
$nama_file = "produk_aktif_per_kategori.xlsx";
}elseif($status == "2"){
$nama_file = "produk_menunggu_approval_per_kategori.xlsx";
}elseif($status == "3"){
$nama_file = "produk_ditolak_per_kategori.xlsx";
}elseif($status == "0"){
$nama_file = "produk_dihapus_per_kategori.xlsx";
}else{
$nama_file = "produk_stok_habis_per_kategori.xlsx";
}
$this->load->library("Excel/PHPExcel");
$objPHPExcel = new PHPExcel();
$sheet_start = 0;
foreach($cek_kategori as $ck){
$sheet_start2 = $sheet_start++;
$id_kategori = $ck->id;
$nama_kategori = $ck->nama;
if($status=='out_of_stock'){
$produk = $this->Produk_model->out_of_stock_kategori($id_kategori)->result(); //menampilkan page stok kosong
}else{
$produk = $this->Produk_model->get_all_kategori($status, $id_kategori)->result();
}
if($status == null){
$judul = "Semua Produk - Kategori ".$nama_kategori;
}elseif($status == "1"){
$judul = "Produk Aktif - Kategori ".$nama_kategori;
}elseif($status == "2"){
$judul = "Produk Menunggu Approval - Kategori ".$nama_kategori;
}elseif($status == "3"){
$judul = "Produk ditolak - Kategori ".$nama_kategori;
}elseif($status == "0"){
$judul = "Produk dihapus - Kategori ".$nama_kategori;
}else{
$judul = "Produk Stok Habis - Kategori ".$nama_kategori;
}
if($sheet_start2 != 0){
$objPHPExcel->createSheet();
}
//header
$objPHPExcel->setActiveSheetIndex($sheet_start2)
->setCellValue('A2', 'No')
->setCellValue('B2', 'Nama');
//judul
$objPHPExcel->getActiveSheet()->mergeCells('A1:AM1');
$objPHPExcel->getActiveSheet()
->getStyle("A1")->getFont()->setBold(true)
->setName('Verdana')
->setSize(18);
$objPHPExcel->setActiveSheetIndex($sheet_start2)
->setCellValue('A1',$judul);
//isi
$nourut = 1;
$i = 3;
foreach ($produk as $data) {
$objPHPExcel->setActiveSheetIndex($sheet_start2)
->setCellValue("A".$i, $nourut)
->setCellValue("B".$i, $data->nama);
$i++;
$nourut++;
}
//set title pd sheet
if (strlen($nama_kategori)>31) {
$nama_kategori = substr($nama_kategori, 0, 28)."...";
}
$objPHPExcel->getActiveSheet()->setTitle($nama_kategori);
}
//mulai menyimpan excel format xlsx, kalau ingin xls ganti Excel2007 menjadi Excel5
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
//sesuaikan headernya
ob_end_clean();
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
//ubah nama file saat diunduh
header('Content-Disposition: attachment;filename="'.$nama_file.'"');
//unduh file
$objWriter->save("php://output");
//Mulai dari create object PHPExcel itu ada dokumentasi lengkapnya di PHPExcel,
// Folder Documentation dan Example
// untuk belajar lebih jauh mengenai PHPExcel silakan buka disitu
}
我使用codeigniter框架和phpexcel库。非常感谢。
更改内存限制ini_设置(“内存限制”、“256M”);
我正在使用PHPExcel库读写excel文件excel2007格式。这些不是很大的excel文件,只有大约120行和20列。当我运行在我的专用服务器它显示错误如下... 这是我的代码...我正在使用内存缓存技术... 我已经检查了PHPExcel_设置的返回值。。这是真的。。 请帮我解决这个问题。。。我已经尝试了这里所有的答案。。。没什么能帮我解决的。。
我在PHP中使用重载,我的PHP代码有什么问题,即使只有8行代码: 上面写着: “致命错误:允许的内存大小134217728字节已用尽(试图分配262144字节)”
我做了一个函数会返回序号的第N位,例如: 1234567891011121314151617 第五位是5 当我执行该命令时,我遇到了如下错误消息“致命错误:允许的内存大小134217728字节已用尽(尝试分配36字节)”。可能是因为我在var 我怎样才能解决这个问题…或者我怎样才能生成一个函数来处理这些大的数 谢谢
我有以下代码: 不同的文件: 由于我编写了Mail()函数,因此出现以下错误: 致命错误:允许的内存大小134217728字节已用尽(尝试分配65488字节)
我正在使用PHPExcel(在这里找到:https://github.com/PHPOffice/PHPExcel)。如果我尝试读取超过大约2000行,然后它显示内存错误如下。 致命错误:第89行的/home/sample/PHPExcelReader/Classes/PHPExcel/sheetwork.php中允许的134217728字节内存已耗尽(尝试分配71字节) 我的Excel数据范围是
我有并且有函数,此函数返回视图名称。 此视图包含大量详细信息,通常会有10到15组(行)详细信息显示在页面上(详细信息来自使用table的数据库)。 它的工作正常,但在某些情况下,当用户详细信息去30到35套(行),我得到下面的错误在error_log文件 PHP致命错误:允许内存大小为33554432字节耗尽(尝试分配5896720字节)在 /laravel/framework/src/Illu