在XAMPP中访问localhost/magento/时出现Magento内存错误
解决XAMPP环境下Magento访问时的内存耗尽致命错误
我之前部署Magento的时候也踩过这个坑,Magento本身是个重型电商框架,对PHP内存的需求比普通Web项目高太多了。你遇到的这个错误:
Fatal error: Allowed memory size of 792723456 bytes exhausted (tried to allocate 1764582776 bytes) in C:\xampp\htdocs\magento\vendor\magento\framework\ObjectManager\Relations\Runtime.php on line 38
本质就是当前PHP分配的内存(大概768MB)不足以支撑Magento的运行,下面给你几个实用的解决办法,按优先级排序:
方法一:修改XAMPP的PHP全局配置(推荐)
这是最彻底的方法,能让所有XAMPP里的项目都受益:
- 打开XAMPP控制面板,找到Apache模块右侧的
Config按钮,点击后选择PHP (php.ini)打开配置文件 - 在文件里用搜索功能找
memory_limit参数,你现在的配置应该是memory_limit = 768M(对应报错里的792723456字节) - 把它改成
memory_limit = 2G(也就是2048MB,完全能满足Magento的运行需求) - 保存文件后,重启XAMPP里的Apache服务,再访问
localhost/magento/试试
方法二:修改Magento项目的.htaccess文件(针对单个项目)
如果你不想修改全局PHP配置,只想给Magento单独加内存:
- 找到Magento根目录下的
.htaccess文件(如果没有可以自己创建) - 在文件里添加或修改这一行:
php_value memory_limit 2G - 保存文件后刷新页面即可,这个设置只会作用于当前Magento项目
方法三:修改Magento的index.php文件(临时应急)
这个方法适合临时测试,不推荐长期使用,因为后续Magento更新可能会覆盖这个文件:
- 打开Magento根目录的
index.php文件,在<?php之后添加一行代码:ini_set('memory_limit', '2G'); - 保存文件后刷新页面就能解决问题
额外小提示
如果调整内存后还是有问题,可以检查下Magento的缓存是否开启——开启缓存能大幅降低内存消耗;另外如果安装了大量第三方扩展,也可以排查下是不是某个扩展占用了异常多的内存。
内容的提问来源于stack exchange,提问作者Rishikesh Kumar
相关产品推荐
相关产品推荐

