在运行PHP法度,凡是会碰到“Fatal Error: Allowed memory size of xxxxxx bytes exhausted”的错误, 这个意味着PHP脚本应用了过多的内存,并超出了体系对其设置的容许最大内存。解决这个题目,起首须要查看你的法度是否分派了过多的内存,在法度没有题目的景象下,你可以经由过程一下办法来增长PHP的内存限制(memory_limit)。
搜检php的内存限制值
为了查看这个值,你须要建树一个空的php文件,比如view-php-info.php。然后将一下代码贴到里面。
<?php phpinfo(); ?>
将这个脚本放到你的Web办事器上,然后在浏览器中调用它。这时你可以看到你的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”这一项,以下是个例子:
对于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的值批改失败。这个须要接洽你的办事商看怎么处理惩罚,凡是他们限制了可以设置的最大值或者底子就不容许你批改。若是他们的景象真的无法满足你的请求,那么你可能要推敲换一个主机办事商。
Copyright@ 2011-2016 版权所有:大连千亿科技有限公司 辽ICP备11013762-3号 google网站地图 百度网站地图 网站地图
公司地址:大连市沙河口区中山路692号辰熙星海国际2317 客服电话:0411-39943997 QQ:2088827823 37482752
法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明