设为首页 收藏本站
查看: 759|回复: 0

[经验分享] 解除php对可用内存限制

[复制链接]

尚未签到

发表于 2018-12-22 15:15:59 | 显示全部楼层 |阅读模式
  在运行PHP程序,通常会遇到“Fatal Error: Allowed memory>  检查php的内存限制值
  为了查看这个值,你需要建立一个空的php文件,比如view-php-info.php。然后将一下代码贴到里面。
  
  将这个脚本放到你的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');
  如果想可以无限申请内存,语句如下:
  ini_set("memory_limit","-1");
  这样的设置将仅仅影响被设置的脚本。一旦脚本执行完毕,该配置将自动恢复到原始值。
  memory_limit修改失败
  如果你使用虚拟主机,有可能会出现memory_limit的值修改失败。这个需要联系你的服务商看怎么处理,通常他们限制了可以设置的最大值或者根本就不允许你修改。如果他们的环境真的无法满足你的要求,那么你可能要考虑换一个主机服务商。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-654532-1-1.html 上篇帖子: Php 生成静态html文件 下篇帖子: 运维日常:五分钟搞定PHP的redis问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表