首页 > 编程技术 > php

php错误Fatal error: Out of memory (allocated 262144)

发布时间:2016-11-25 17:38

昨天网站用着用着就提示了Fatal error: Out of memory (allocated 262144),后来百度搜索了一些解决方法,下面我分享给各位朋友。

从上面的Out of memory (allocated 262144)看出是超过了256MB了吧,这个我们只要调整一下php.ini中的一个参考即可

解决方法是修改php.ini,加大memory_limit

修改php.ini

如下的区域

 代码如下 复制代码

memory_limit = 64M    

重启apache即可解决。

今天在换了Php环境后我们发现有Deprecated: Function session_register() is deprecated错误提示了,下面我来给各位朋友介绍介绍。

我们先来看代码

 代码如下 复制代码

<?php
// Fix for removed Session functions
function fix_session_register(){
    function session_register(){
        $args = func_get_args();
        foreach ($args as $key){
            $_SESSION[$key]=$GLOBALS[$key];
        }
    }
    function session_is_registered($key){
        return isset($_SESSION[$key]);
    }
    function session_unregister($key){
        unset($_SESSION[$key]);
    }
}
if (!function_exists('session_register')) fix_session_register();
?>

查了一下出现这个问题的地方不多,找到了另外一个方法,直接

 代码如下 复制代码

session_register( “abc” ) ;

改成

$_SESSION['abc'] = null;

即可

总结

从上面的过程来说我们说明了明这个函数在PHP5.3版本中被删除了。也就是这个函数不再可用了,大家直接使用下面的方法即可了。

本文章来介绍一个关于PHPExcel Allowed memory size of 内存泄漏解决办法,有碰到此类的朋友可参考参考。

我在利用PHPExcel导入一个一个大概31列、500行的文档,实行导入之后,PHP会报如下错误:

Fatal error: Allowed memory size of 209715200 bytes exhausted (tried to allocate 35 bytes)

inX:wwwClassesPHPExcelCell.php on line 711


解决办法是在 PHPExcel_Worksheet 类中增加方法:

 代码如下 复制代码

 public function Destroy() {
     foreach($this->_cellCollection as $index => $dummy) {
         $this->_cellCollection[$index] = null;
     }
 }

并在 PHPExcel 类中增加方法:

 public function Destroy() {
     foreach($this->_workSheetCollection as $index => $dummy) {
         $this->_workSheetCollection[$index]->Destroy();
         $this->_workSheetCollection[$index] = null;
     }
 }

还有一种办法就是修改你php内存配置,在中加入

在php文件增进一条语句

 代码如下 复制代码

ini_set('memory_limit', '-1');         

ini_set('memory_limit','265M')

修改php.ini(保举)

 代码如下 复制代码

memory_limit = 12M


.htaccess文件,添加如下内容

 代码如下 复制代码

php_value memory_limit 12M

有些朋友在使用mysql连接时会出现No such file or directory错误提示,下面我来总结解决办法。

连接代码

 代码如下 复制代码

$this->linkid = @mysql_pconnect($host, $user, $password) or die(mysql_error());


Make a phpinfo() page.  Look for ‘mysql.default_socket‘, ‘mysqli.default_socket‘, and

‘pdo_mysql.default_socket‘.  Remember their value; this is where PHP is trying to connect to MySQL.

解决办法

1.首先确定是mysql_connect()和mysql_pconnect()的问题,故障现象就是函数返回空,而mysql_error()返回“No

such file or directory”。
2.写个phpinfo页面,找到mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket。
3.启动mysql,执行命令 STATUS; 记下UNIX socket的值。
4.如果2和3的值不一样,则打开php.ini(可以从phpinfo页面中找到php.ini的位置,默认是/private/etc/php.ini)

,将2中提到的三个配置项的值改成3的值。
5.重启apache。

今天在把php升级之后运行一个页面出现了Deprecated: Function set_magic_quotes_runtime() is deprecated in F:\\wwwroot\\mongodb\\manage\\app.php on line 13错误,后来百度了才知道原因高版本的php把set_magic_quotes_runtime去了,下面我来看解决办法。

官方提供的解决办法:

 代码如下 复制代码
//把
 
set_magic_quotes_runtime(0);
 
//替代成
 
ini_set("magic_quotes_runtime",0);

 
即可解析了。
 

标签:[!--infotagslink--]

您可能感兴趣的文章: