修改PHP的memory_limit限制的方法分享


Posted in PHP onFebruary 21, 2012

解决这个问题,首先需要查看你的程序是否分配了过多的内存,在程序没有问题的情况下,你可以通过一下方法来增加PHP的内存限制(memory_limit)。

检查php的内存限制值

为了查看这个值,你需要建立一个空的php文件,比如view-php-info.php。然后将一下代码贴到里面。

<?php phpinfo(); ?>

将这个脚本放到你的Web服务器上,然后在浏览器中调用它。这时你可以看到你的PHP环境配置的信息,其中有一部分是关于“memory_limit”的, 如下图:

修改PHP的memory_limit限制的方法分享

注:你可以用这种方法来查看php的其他参数设置,不仅仅是memory_limit

memory_limit应该设为多少?

这个完全依赖于你的应用的要求。比如Wordpress,运行起核心代码需要32MB。Drupal 6则要求这个值最小为16MB,并推荐设置为32MB。如果你又安装不少的插件(plugins),尤其是那些要进行图像处理的模块,那么你可能需要128MB或更高的内存。

如何设置memory_limit

方法1: php.ini

最简单或常用的方法是修改php.ini

1.首先找到对你的网站生效的php.ini文件 由于有多个地方都可以设置php的参数,找到正确的配置文件,并进行更改是首先要做的一步。如果你上面的方法建立了php文件来查看其配置参数,则你可以找到“Loaded Configuration File”这一项,以下是个例子:

修改PHP的memory_limit限制的方法分享

对于Linux用户,你可以通过执行“php -i | grep Loaded Configuration File”来找到对应的配置文件。而Windows用户,你可以尝试修改你的php安装目录下的php.ini。

2.编辑php.ini 在php.ini中,找到“memory_limit”这一项,如果没有,你可以在文件的尾部自己增加这个参数。以下是一些设置范例

memory_limit = 128M ; 可以将128M改为任何你想设置的值

保存文件

3.重启web 服务器 如果是web服务器使用Apache, 则执行:

httpd restart

有些情况下,你可能不被允许私修改php.ini。比如如果你购买了虚拟主机服务,但是你的服务商确禁止你修改这个文件。那么,你可以需要考虑用其他方法来增加memory_limit的值。

方法2: .htaccess

说明: 这种方法只有在php以Apache模块来执行时才生效。 在你的网站的根目录下找到“.htaccess”文件,如果没有,可以自己创建一个。然后把以下配置放入其中

php_value memory_limit 128M ; 可以将128M改为任何你想设置的值

方法3: 运行时修改php的内存设置

在你的php代码中增加以下命令行即可。

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

memory_limit修改失败

如果你使用虚拟主机,有可能会出现memory_limit的值修改失败。这个需要联系你的服务商看怎么处理,通常他们限制了可以设置的最大值或者根本就不允许你修改。如果他们的环境真的无法满足你的要求,那么你可能要考虑换一个主机服务商。

PHP 相关文章推荐
smarty模板嵌套之include与fetch性能测试
Dec 05 PHP
php短域名转换为实际域名函数
Jan 17 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
Jul 03 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
Aug 01 PHP
php文件缓存类汇总
Nov 21 PHP
PHP判断一个字符串是否是回文字符串的方法
Mar 23 PHP
PHP创建/删除/复制文件夹、文件
May 03 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
PHP 500报错的快速解决方法
Dec 14 PHP
详解PHP发送邮件知识点
May 06 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
Apr 09 PHP
PhpStorm+xdebug+postman调试技巧分享
Sep 15 PHP
php中取得文件的后缀名?
Feb 20 #PHP
ThinkPHP写第一个模块应用
Feb 20 #PHP
for循环连续求和、九九乘法表代码
Feb 20 #PHP
phpmail类发送邮件函数代码
Feb 20 #PHP
国外PHP程序员的13个好习惯小结
Feb 20 #PHP
php中用于检测一个地理IP地址是否可用的代码
Feb 19 #PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
Feb 19 #PHP
You might like
php循环语句 for()与foreach()用法区别介绍
2012/09/05 PHP
PHP多例模式介绍
2013/06/24 PHP
PHP生成Gif图片验证码
2013/10/27 PHP
php获取百度收录、百度热词及百度快照的方法
2015/04/02 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
微信自定义菜单的创建/查询/取消php示例代码
2016/08/05 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
PHP PDO操作MySQL基础教程
2017/06/05 PHP
javascript高级学习笔记整理
2011/08/14 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
jQuery判断数组是否包含了指定的元素
2015/03/10 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
了不起的11个JavaScript代码重构最佳实践小结
2021/01/11 Javascript
基于JavaScript实现简单的轮播图
2021/03/03 Javascript
python 实时遍历日志文件
2016/04/12 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
Python实现的异步代理爬虫及代理池
2017/03/17 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
五种Python转义表示法
2020/11/27 Python
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
自我鉴定书范文
2013/10/02 职场文书
料理师求职信
2014/01/30 职场文书
会务接待方案
2014/02/27 职场文书
淘宝客服专员岗位职责
2014/04/11 职场文书
天地会口号
2014/06/17 职场文书
退税申请报告怎么写
2015/05/18 职场文书
python基础之while循环语句的使用
2021/04/20 Python
canvas绘制折线路径动画实现
2021/05/12 Javascript
Pyhton模块和包相关知识总结
2021/05/12 Python
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
英国数字版游戏销量周榜公布 《小缇娜的奇幻之地》登顶
2022/04/03 其他游戏