修改PHP的memory_limit限制的⽅法在运⾏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
php如何运行代码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模块来执⾏时才⽣效。在你的⽹站的根⽬录下到“.htac
cess”⽂件,如果没有,可以⾃⼰创建⼀个。然后把以下配置放⼊其中
php_value memory_limit 128M ; 可以将128M改为任何你想设置的值
⽅法3:运⾏时修改php的内存设置
在你的php代码中增加以下命令⾏即可。
ini_set('memory_limit','128M');
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论