php ini memory limit,php内存不够:memory limit的解决办法

有一些免费空间对网站程序消耗内存做了限制,初学者在遇到Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 491520 bytes) in...这样的php错误提示时,应该怎样应对呢?

今天在使用http://wordpress.cn.gp搭建多站点时,遇到了kilu.de免费空间分配内存不足的情况。kilu.de免费空间给出的内存为32M限制,而wordpress3.3之后有些内核程序占用资源已经超过了33M,因此如果还在使用kilu.de免费空间,不得不把wordpress的版本降下来。wordpress3.2.1的占用内存大部分在28M,但仍然有些核心部分超过了32M,必须想办法解决这一问题,才能正常使用。即使采用了文章下面的方法,kilu.de免费空间的wordpress仍然在很多页面会出现文章开始的php错误提示:内存不够!

抛开kilu.de空间的情况不谈,我们来谈谈应对该问题的一般思路:

1、修改php.ini

一些主机空间支持php.ini,你可以将下面的代码拷贝到php.ini上传到空间

memory_limit=64M;

2、利用.htaccess增加虚拟空间的内存限制

在支持.htaccess的空间上传含有一行下面代码的.htaccess文件

php_value memory_limit 64M

3、为wordpress增加配置语句

在wordpress的wp-config.php文件中增加下面的一条语句

define('WP_MEMORY_LIMIT','64M');

4、单独php页面可以使用php函数解一时之需

如果只是某一个php文档出现了内存不足的情况,(当然不是在wordpress中,)可以在该文档的开头增加下面一句以调整内存限制。也可以在一个全局文档中增加,让所有的php文档都可享用

ini_set('memory_limit','64M');

5、改php调用和执行为html输出

要知道html代码永远比程序执行代码占用资源少。如果你的wordpress只是在某一个可数的页面出现调用时的内存不足,而且你可以直接用html代码将php文档中的函数代替的话,你完全可以模仿我的做法,把对应的php调用函数直接换为调用完的html代码。

在以上5种方法中,前4种都能做到一劳永逸,然而对于kilu.de免费空间则是惘然,kilu.de空间不能通过它们来增加执行内存,我相信还有一些免费的空间也可能存在这个问题,你要么选择第5种方法,要么换一个空间。我最后选择了第5种方法,对几个必须的页面进行了调整。你可以进入http://wordpress.cn.gp进行测试。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值