首页 > 语言 > 关键词  > PHP最新资讯  > 正文

如何修改PHP的memory_limit限制

2011-10-10 16:26 · 稿源:主机点评网

在运行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的值修改失败。这个需要联系你的服务商看怎么处理,通常他们限制了可以设置的最大值或者根本就不允许你修改。如果他们的环境真的无法满足你的要求,那么你可能要考虑换一个主机服务商。

  • 相关推荐
  • 大家在看
  • JetBrains 等多个社区成员宣布成立 PHP 基金会

    包括JetBrains在内的多个PHP社区成员今天宣布成立PHP基金会,以继续开发该语言。成员名单还包括Automattic、Laravel、Acquia、Zend、Craft CMS、Private Packagist、Tideways和PrestaShop。

  • 携手社区成员:JetBrains宣布成立PHP基金会

    Laravel News 报道称,包括 JetBrains 在内的多位社区成员,刚刚宣布了 PHP 基金会的正式成立。作为一家非盈利组织,这项 Open Collective 倡议旨在持续推进这款语言的未来发展。通过资助为 PHP 语言做出贡献的全职和兼职开发者们,PHP 基金会希望能够确保该语言的长期繁荣。(来自:Open Collective)除了 JetBrains,PHP 基金会的成员名单中还包括 Automattic、Laravel、Acquia、Zend、Craft CMS、Private Packagist、Tideways ?

  • 英特尔已收购波兰云游戏初创公司RemoteMyApp 价格尚未披露

    据国外媒体报道,在威盛上周宣布计划将一家子公司以1.25亿美元的价格出售给英特尔之后,又出现了英特尔已收购波兰云游戏初创企业RemoteMyApp的消息

  • Netflix Games 将在 App Store 单独提供以绕过苹果限制

    预计Netflix将在App Store上单独发布其Netflix Games中的每一款游戏,每一款游戏都需要在主应用之上单独下载。这项服务已经在安卓上提供。在安卓系统中,Netflix应用程序中有一个专门的游戏标签。一旦你点击一个游戏,它就会打开Google Play,要求你下载该应用,然后要求你登录你的Netflix账户。

  • 当贝投影在海外怎么使用?Emotn UI一定要安装使用!

    众所周知,当贝投影在海外使用时会受到网络限制,导致自带的内容无法观看,纵然主页资源非常丰富,但是不能用,也是比较苦恼,就好比一身武功却无处施展,不如换一个更精简美观的桌面,安装Emotn UI。简介:Emotn UI由前Google科技人員專門為安卓TV設備研發的案頭應用程序。 現時深受歐美用戶喜歡,具有費用好的用戶口碑。 同其他安卓TV桌面系統相比,Emotn UI具有效能佔用低、純淨無廣告、支持多國語言等優點。 此外,Emotn UI自?

  • DARPA的Gremlin无人机首次在空中被回收

    据New Atlas报道,尽管一些无人机可以取代有人驾驶的飞机,但美国国防高级研究计划局(DARPA)的Gremlins计划旨在为军用飞机配备无人机,这些无人机可以被部署,然后回收再利用。现在其中一架无人机在空中被回收,这是有史以来第一次完成这项任务。Gremlins计划的基本理念是,与其让人类飞行员和他们昂贵的飞机冒着危险,不如让这些飞机安全地呆在敌方部队无法触及的地方,释放出成群的自主固定翼无人机来做危险的工作。这些无人机

  • Emotn UI是什么?一款颠覆你认知的电视桌面软件

    经常使用电视的朋友,肯定对瀑布式UI不陌生,现在不仅国产电视,就连索尼都加入了瀑布式UI的大军,其实非瀑布式的UI更加方便简洁。今天要给大家介绍一款我在当贝市场里发现的桌面软件——Emotn UI,可能很多朋友都有Emotn UI是什么的疑问。Emotn UI是一款由Google科技人员专门为安卓TV设备研发的桌面应用程序,它有以下几大优点:1、应用顺序可调,无限添加Emotn UI是什么?国内很多瀑布式UI都会固定前几款应用,而这些应用中没有自?

  • 电视桌面软件哪款好?Emotn UI极简体验效果佳!

    如今电视清一色的瀑布式ui设计,让整个电视操作起来都比较复杂。近日,一款名为Emotn UI的桌面软件横空出世,极大解决了电视排版杂乱的问题。目前这款软件支持电视、盒子和投影等大屏软件下载使用。Emotn UI使用感极佳,没有任何广告植入和弹窗,是一款非常纯净的电视桌面TV。大家可以根据自己使用软件的喜好和习惯,将软件添加到桌面。下次开机时,就能直接在桌面上找到这款软件了。(不用再次通过我的应用去找了)这个功能还非常适

  • 全民emo时代,是什么在治愈着当代年轻人?

    似乎在一夜之间,互联网上的年轻人都开始emo了。emo,是英文单词emotional的缩写,表示情绪低落、多愁善感。有人说,emo的时候,感觉自己就像一个脆薄的容器,里面注满了刺骨的冰水,喘不过气来。

  • Spotify与Netflix合作推出新的专用Netflix Hub

    Spotify今天宣布,它正在与Netflix合作,在该服务中推出一个专用的Netflix hub。该中心可以从移动设备以及服务的web版本访问。这个专用的中心将为所有与Netflix相关的媒体提供一站式服务,其中一些媒体是Spotify独家提供的。这包括Netflix节目和电影的官方配乐,包括流行的新剧《乌贼游戏》和林曼努埃尔·米兰达的故事片《滴答滴答。。。轰以及官方播放列表,包括《金钱抢劫》和《布里奇顿》等节目中的所有授权歌曲。该中心也是Net

这篇文章对你有价值吗?

  • 热门标签

热文

  • 3 天
  • 7天