>백엔드 개발 >PHP 튜토리얼 >网站出现内存用尽(error: Allowed memory size of 134217728 bytes exhausted (tried to all)

网站出现内存用尽(error: Allowed memory size of 134217728 bytes exhausted (tried to all)

WBOY
WBOY원래의
2016-06-23 13:28:482694검색

出现问题:
[Thu Jul 09 09:57:22 2015] [error] [client 183.61.51.179] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 4294967296 bytes) in /vhost/vhostroot/wart8555/www/class/companyInfomation.php on line 80
[Thu Jul 09 09:57:48 2015] [error] [client 59.57.252.98] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 4294967296 bytes) in /vhost/vhostroot/wart8555/www/class/companyInfomation.php on line 80
[Thu Jul 09 09:57:50 2015] [error] [client 59.57.252.98] File does not exist: /vhost/vhostroot/wart8555/www/favicon.ico
[Thu Jul 09 10:01:38 2015] [error] [client 59.57.252.98] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 4294967296 bytes) in /vhost/vhostroot/wart8555/www/class/companyInfomation.php on line 80
首先index.php中引用foot.php页面,里面出现了问题,初学PHP,请大神帮忙看下

<?php  include 'include.php';include ROOT_PATH . '/tool/Page.php';include ROOT_PATH . '/tool/Database.php';include ROOT_PATH.'/class/baseProduct.php';include ROOT_PATH.'/class/baseInformation.php';//产品list$baseProduct = new BaseProduct();$productList = $baseProduct->indexShow();$information = new BaseInformation();$infor_list = $information->findPage(1, 5);?><!DOCTYPE html><head><title><?php echo WEB_TITLE;?></title><meta charset="UTF-8"><link rel="stylesheet" href="css/foundation.min.css"><link rel="stylesheet" href="css/superfish.css"><link rel="stylesheet" href="css/stylesheet.css"><link rel="stylesheet" href="js/slider/flexslider.css"><link rel="stylesheet" href="js/slider/flexcar.css"><link href='css/defult.css' rel='stylesheet' type='text/css'><script src="js/vendor/custom.modernizr.js"></script><script>Modernizr.load({    // test if browser understands media queries    test: Modernizr.mq('only all'),    // if not load ie8-grid    nope: 'css/ie8-grid-foundation-4.css'});</script><!--[if lt IE 9]><link rel="stylesheet" href="css/ie-fixes.css"><![endif]--></head><body><div class="header">  <?php include ROOT_PATH.'/top.php';?>  <div class="slider">      </div></div><div class="tagline">  <div class="row">    <div class="columns large-12">      <div class="center">		<div class="columns large-4 large-offset-1 content sidebar" id="youkuplayer" style="float: left; width: 370px;height: 241px; margin-left: 0"></div>		<script type="text/javascript" src="http://player.youku.com/jsapi">				player = new YKU.Player('youkuplayer',{				styleid: '0',				client_id: '9d672744e5e73950',				vid: 'XMTI3ODgyNjU4OA==',				autoplay: false,				show_related: false,				events:{					onPlayEnd: function(){ playVideo(); }					}				});				function playVideo(){					player.playVideo();					}			</script>		<div class="columns large-4 large-offset-1 content sidebar" style="float: left; margin-left: 10px;">        <h1 class="page-title services" style="font-size: 14px;text-align: left;cursor: pointer; " onclick="location.href='<?php echo ROOT_URL;?>/blog.php'">新闻</h1>        <ul>        <?php for($i=0;$i<count($infor_list);$i++){?>          <li class="bullet" style="text-align: left;"><a href="<?php echo ROOT_URL."/blog.php?id=".$infor_list[$i]["id"];?>"><?php echo $infor_list[$i]["title"].$infor_list[$i]["id"];?></a></li>        <?php }?>                  </ul>      </div>      <div></div>      </div>    </div>  </div></div><div class="service-box" style="display: none;">  <?php for($i=0;$i<count($productList);$i++){  		if($i==0){  			echo "<div class=\"row service\">";  		}elseif($i%3==0){  			echo "</div><div class=\"row service\">";  		}  		$picSrc = ROOT_URL.$productList[$i]["hostPath"]."/".$productList[$i]["saveName"];  ?>    <div class="columns large-4 sp">      <h1 class="service-subtitle sp_title"><?php echo $productList[$i]["title"];?></h1>      <p><img  src="<?php echo $picSrc;? alt="网站出现内存用尽(error: Allowed memory size of 134217728 bytes exhausted (tried to all)" >" alt="" class="threeUp"></p>      <div> <?php echo $productList[$i]["littleContent"];?></div>      <p> <a class="button custom">详情</a> </p>    </div>  <?php if($i==count($productList)-1){  			echo "</div>";  		}  }?></div><div class="front-testimonial">  <div class="row">    <div class="columns large-12">      <div class="flexcar">          </div>  </div></div>  <?php include ROOT_PATH.'/foot.php';?><script src="js/jquery.min.js"></script><script src="js/hoverIntent.js"></script><script src="js/superfish.js"></script><script src="js/slider/jquery.flexslider.js"></script><script>Modernizr.load({    test: Modernizr.placeholder,    nope: 'js/placeholder.min.js'});function goToNewPage() {    if (document.getElementById('target').value) {        window.location.href = document.getElementById('target').value;    }}</script><script>$(document).ready(function () {    $('ul.sf-menu').superfish({        animation: {            height: 'show'        },        delay: 400    });    $("img.scrollToTop").click(function () {        $("html, body").animate({            scrollTop: 0        }, "slow");    });    $('.flexslider').flexslider();    $('.flexcar').flexslider();});</script></body></html>

<?phprequire_once 'include.php';require_once  ROOT_PATH.'/class/companyInfomation.php';$companyInfo_foot = new CompanyInfomation();$info_foot = $companyInfo_foot->getContent();?><footer class="footer">  <div class="row">    <div class="columns large-12 footer-inner">      <div class="row">        <div class="columns large-4 useful-links">          <div>            <h2 class="footer-title">Quick links</h2>            <ul class="footer-list">              <li><a href="#">伟达</a></li>              <li><a href="#">新闻</a></li>              <li><a href="#">产品</a></li>              <li><a href="#">视频</a></li>              <li><a href="#">下载</a></li>            </ul>          </div>        </div>        <div class="columns large-4 contact">          <div>            <h2 class="footer-title">Contactus</h2>            <ul class="footer-list">              <li><span class="small-icon"><img  src="<?php echo ROOT_URL;? alt="网站出现内存用尽(error: Allowed memory size of 134217728 bytes exhausted (tried to all)" >/images/address.png" alt=""></span><?php echo $info_foot==null?"":$info_foot->getAddr();?></li>              <li><span class="small-icon"><img  src="<?php echo ROOT_URL;? alt="网站出现内存用尽(error: Allowed memory size of 134217728 bytes exhausted (tried to all)" >/images/phone.png" alt=""></span><?php echo $info_foot==null?"":$info_foot->getTel();?></li>              <li><span class="small-icon"><img  src="<?php echo ROOT_URL;? alt="网站出现内存用尽(error: Allowed memory size of 134217728 bytes exhausted (tried to all)" >/images/fax.png" alt=""></span><?php echo $info_foot==null?"":$info_foot->getFx();?></li>              <li><span class="small-icon"><img  src="<?php echo ROOT_URL;? alt="网站出现内存用尽(error: Allowed memory size of 134217728 bytes exhausted (tried to all)" >/images/email.png" alt=""></span><?php echo $info_foot==null?"":$info_foot->getEmail();?></li>            </ul>          </div>        </div>        <div class="columns large-4 about">          <div>            <h2 class="footer-title">Aboutus</h2>            <p><img src="images/about.png" alt=""></p>            <p>Placerat urna et tristique in! Scelerisque integer nisi pha sellus, nec phasellus arcualiquet etiam magna massa sit cursus adipiscing sed, nec? Aenean odio! Cumac dolor dapibus tincidunt lorem ipsum dolor sit esmet placerat urna et tristique in! Scelerisque integer nisi phasellus</p>          </div>        </div>      </div>    </div>  </div></footer><div class="credit-row">  <div class="row">    <div class="columns large-11 credit"></div>    <div class="columns large-1"> <img src="images/toparrow.png" alt="" class="scrollToTop"> </div>  </div></div>
<?phpclass CompanyInfomation{	private $id;	private $infomation;	private $addr;	private $tel;	private $fx;	private $email;		function setId($id){		$this->id = $id;	}	function getId(){		return $this->id;	}	function setInfomation($infomation){		$this->infomation = $infomation;	}	function getInfomation(){		return $this->infomation;	}	function setAddr($addr){		$this->addr = $addr;	}	function getAddr(){		return $this->addr;	}	function setTel($tel){		$this->tel = $tel;	}	function getTel(){		return $this->tel;	}	function setFx($fx){		$this->fx = $fx;	}	function getFx(){		return $this->fx;	}	function setEmail($email){		$this->email = $email;	}	function getEmail(){		return $this->email;	}		function edit(){		$select_sql = "select id from company_information where id = ?";		$insert_sql = "insert into company_information (information,addr,tel,fx,email)values(?,?,?,?,?)";		$update_sql = "update company_information set information = ?,addr=?,tel=?,fx=?,email=? where id=?";		$database = new Database();		$conn = $database->getConn();		$stmt = $conn->prepare($select_sql); 		$stmt->bind_param('i',$this->id); 		$stmt->execute(); 		$stmt->bind_result($id);				$stmt_edit = null;		if($stmt->fetch()){			$stmt_edit = $conn->prepare($update_sql); 			$stmt_edit->bind_param("sssssi",$this->infomation,$this->addr,$this->tel,$this->fx,$this->email,$this->id);			$stmt_edit->execute();		}else{			$stmt_edit = $conn->prepare($insert_sql);			$stmt_edit->bind_param("sssss",$this->infomation,$this->addr,$this->tel,$this->fx,$this->email);			$stmt_edit->execute();		}		$stmt->close();		$stmt_edit->close();		$conn->close();	}		function getContent(){		$select_sql = "select id,information,addr,tel,fx,email from company_information limit 0,1";		$database = new Database();		$conn = $database->getConn();		$stmt = $conn->prepare($select_sql); 		$stmt->execute();		$stmt->bind_result($id,$information,$addr,$tel,$fx,$email);		$infomation_obj = null;		if ($stmt->fetch())		{			$infomation_obj = new CompanyInfomation();			$infomation_obj->setAddr($addr);			$infomation_obj->setEmail($email);			$infomation_obj->setFx($fx);			$infomation_obj->setId($id);			$infomation_obj->setInfomation($information);			$infomation_obj->setTel($tel);		}		$stmt->close();		$conn->close();		return $infomation_obj;	}}?>


回复讨论(解决方案)

内存不足,在报错前那行,打印下所有变量、参数,是不是过大了。

哪个是 companyInfomation.php ?

看不出哪里需要 4G 的内存

没看到需要4G内存的地方。

哪个是 companyInfomation.php ?

看不出哪里需要 4G 的内存

最后一个是 

内存不足,在报错前那行,打印下所有变量、参数,是不是过大了。

第一个104行,第二个3-5行,第3个的80

没看到需要4G内存的地方。

数据库查询最多一条数据,没有数据也会报这样的错

虽然 bind_result 方法不需要参数变量事先存在,但是你还是先声明一下比较妥当
$id = $information = $addr = $tel = $fx = $email = ‘’;
$stmt->bind_result($id,$information,$addr,$tel,$fx,$email);

虽然 bind_result 方法不需要参数变量事先存在,但是你还是先声明一下比较妥当
$id = $information = $addr = $tel = $fx = $email = ‘’;
$stmt->bind_result($id,$information,$addr,$tel,$fx,$email);

还是不行

你试一下不用 bind_result 是怎样的

谢谢各位回答,字段类型设置错误,一个大文本字段设置成为最大字段,需要内存4G,换了就好了

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.