php内存不够,关于php内存不够用的快速解决方法

关于php内存不够用的快速解决方法

有时候我们再运行php程序时,会出现

Allowed memory size of 8388608 bytes exhausted (tried to allocate 1298358 bytes)

出现该错误的原因:在确保不是程序产生的原因(例如死循环),是由于php页面消耗的最大内存默认是为 8M (在PHP的ini件里可以看到) ,

如果文件太大 或图片太大 在读取的时候 会发生上述错误。

解决办法:

1.修改 php.ini将memory_limit由 8M 改成 16M(或更大),重启apache服务

2.在PHP 文件中 加入 ini_set(‘memory_limit',‘**M');注意:为了系统的其它资源的正常使用 请您不要将 memory_limit设置太大,其中-1为不限

3.修改.htaccess 文档(前提是该目录支持.htaccess)在文档中新增一句:php_value memory_limit 16M(或更大)

时间: 2013-10-23

本文实例讲述了php运行提示:Fatal error Allowed memory size内存不足的解决方法.分享给大家供大家参考.具体方法如下: 有些朋友新配置的环境或自己新写的程序运行时会碰到fatal error: Allowed memory size of 134217728 bytes exhausted错误,这种问题一个是程序写得不好导致的,另一个是环境配置不好也会出现,像php5.1.27+apache2.2.3好像在windows2003中就会出现bug不管你怎么修复都无法解

phpExcel将读取的单元格信息保存在内存中,我们可以通过 复制代码 代码如下: PHPExcel_Settings::setCacheStorageMethod() 来设置不同的缓存方式,已达到降低内存消耗的目的! 1.将单元格数据序列化后保存在内存中 复制代码 代码如下: PHPExcel_CachedObjectStorageFactory::cache_in_memory_serialized; 2.将单元格序列化后再进行Gzip压缩,然后保存在内存中 复制代码 代码如下: PHPEx

一.内存溢出解决方案在做数据统计分析时,经常会遇到大数组,可能会发生内存溢出,这里分享一下我的解决方案.还是用例子来说明这个问题,如下:假定日志中存放的记录数为500000条,那么解决方案如下: 复制代码 代码如下: ini_set('memory_limit','64M'); //重置php可以使用的内存大小为64M,一般在远程主机上是不能修改php.ini文件的,只能通过程序设置.注:在safe_mode(安全模式)下,ini_set失效set_time_limit(600);//设置超时限

在部署一套内网测试环境时,频繁宕机,开机后不断的吃内存,重启apache之后内存占用会不停的上涨,直到swap用完,直到死机,由于是内网环境,服务器并发和压力都很小. 查看apache错误日志,报大量类似错误: 复制代码 代码如下: [Tue Feb 14 14:49:28 2012] [warn] child process 7751 still did not exit, sending a SIGTERM [Tue Feb 14 14:49:30 2012] [error] child p

因为这个是语言的问题,常规方案比较难以解决.下面是一种通过string 解决的方案. 复制代码 代码如下: $total = 100000; $double = ""; for ($i = 0; $i < $total; $i++) { $double .= pack("d", $i + 0.1); } for ($i = 0; $i < $total; $i++) { unpack("@" . ($i * 8) . "/d

配置环境如下: Win2003SP2+IIS6+php5.26+mysql5.0.51a+zend3.3a+PhpMyAdmin2.11.7.1 PHP执行方式:isapi.Mysql为手动安装. 关于"内存位置访问无效"的 错误解决办法与步骤:(一些部份无效的调试步骤略过..) 一.将IIS的错误显示打开,未发现错误原因! 二.检查IIS扩展,ISAPI.php.ini与Mysql配置以及相应的安装目录ACLs权限,均无误. 三.回收IIS进程,错误仍然出现"内存位置访问无

我们就需要找到是哪一个DLL文件加载出现了问题.排查方法是: 将php.ini中 display_startup_errors = Off 改为display_startup_errors = On . 这是访问php页面,服务器上会弹出php错误的提示对话框,你就可以明确看到是哪一个dll文件加载失败,有时会有多个dll文件加载失败,需要你先分号(;)注释掉php.ini中提示那个dll后继续访问如此反复排查. 把出问题的dll都用分号(;)注释掉后,php就可以正常运行了. 如果加载失败的d

C# httpwebrequest访问HTTPS链接时遇到这个错误,但是如果我开抓包工具,比如filddler2,则POST返回正常 错误提示的Message为: 基础连接已经关闭: 发送时发生错误. InnerException为: 从传输流收到意外的 EOF 或 0 个字节. 试了网上的N种方法,以下是本次的解决方案: ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; 把网上找到的解决方案列一下,没准就能解决了

mysql安装好经常发现无法正常启动碰到最多的是error 2003的错误,以下为解决方法: mysqld -nt -remove mysqld -nt -install 重新启动mysql net start mysql 可能还会遇到服务1067错误的问题,原因大致有两个: (1)my.ini的basedir和datadir目录配置有问题,可如下面的例子修改: basedir=d:/MySQL5.0/#mysql安装位置 datadir=d:/MySQL5.0/data#数据存放位置 不过,一

一.前言: mysql8之后想比起之前常用的版本改动还是挺大的,因为刚从安装接触,就先从基本的说起.现在的mysql8安装只能采用解压配置版,像以前老版本的傻瓜式安装将不复存在.其实mysql8了解如何安装之后也不是特别麻烦, 现罗列一下注意点: 1,mysql8 之后并不需要my.ini,会自动的生成data文件夹在解压之后的文件,端口默认3306,.若有这个文件,则初始化mysql不成功. 2,自己若新建并设置了my.ini 文件,有data文件的话,在初始化之前要删除.然后再初始化 3,在

4efa3aac1a2371b2d9c0cf596efcfb81.png

点工具栏中[显示估计的查询计划],结果提示Documents and Settings\XXX\Local Settings\Temp\1\xxx.tmp文件不能访问.查看发现没有1这个子目录--这是给1号远程连接会话用的临时目录,手工创建子目录1,即可正常查询

8704d08d03ab36f44aac31cf0a6b0fc0.png

今早在对一张table 创建primay key过程中发生了断电,当电脑再次启动时候,发现mysql 服务无法启动,使用 net start 提示 1067错误,折腾了2个小时无法解决,后来只能通过手工删除数据文件,日志文件,再启动服务,然后导入数据来完成. 启动服务发生1067错误: 1.删除datadir 下的用户数据库文件 和 日志文件 (ib_logfile0,ib_logfile1). 2.删除innodb表空间ibdata1 3.启动mysql服务: 4.导入数据: 5.檢查數據:

用mariadb也有一段时间了,常用命令和语法,基本没变.比较复杂一点的,例如replication,也没有发现根mysql有什么不同的地方. 不过,今天真发现有不同的地方了,mariadb的权限管理根mysql不一样,mysql可以创建一个根root账户同等权限的账户,但是mariadb就不行了,写法上也所不同. 1,mariadb  grant授权报错 MariaDB [(none)]> grant all privileges on *.* TO tank@'192.168.%' IDEN

本文实例分析了php面向对象中static静态属性与方法的内存位置.分享给大家供大家参考.具体如下: static静态属性的内存位置-->类,而不是对象.下面做测试来证明一下 <?php header("content-type:text/html;charset=utf-8"); class Human{ static public $name = "小妹"; public $height; public function tell(){ } } ec

800932b470a4bc15d2c46ccbe9a90951.png

HTTP 错误 403.1 - 禁止访问:执行访问被拒绝. 解决方法该页无法显示 您试图从目录中执行 CGI.ISAPI 或其他可执行程序,但该目录不允许执行程序. 请尝试以下操作: 如果您认为该目录应该允许执行访问权限,请与网站管理员联系. HTTP 错误 403.1 - 禁止访问:执行访问被拒绝. 技术信息(为技术支持人员提供) 转到 Microsoft 产品支持服务并搜索包括"HTTP"和"403"的标题. 打开"IIS 帮助"(可在 II

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值