我刚刚搭建了一个新模块,当我使用生成的表单保存时,我得到了:
致命错误:/ Applications / MAMP / htdocs / ats / lib / vendor / symfony / lib / plugins / sfDoctrinePlugin / lib / vendor / doctrine / Doctrine /中允许的内存大小为8388608字节(试图分配19456字节)第404行的Hydrator / Graph.php
任何想法为什么?
答案 0 :(得分:1)
symfony对内存非常贪心,所以有时会发生这种情况。您可以通过php.ini增加PHP / symfony可用的内存,如上所示:
的php.ini :
memory_limit = 128M
128M这里只是一个例子,但你可能需要评估它。
答案 1 :(得分:0)
因为这是你配置的内存限制。你可能想要从php.ini
找到它使用的phpinfo()
并编辑它以给symfony更多的记忆。
答案 2 :(得分:0)
memory_limit
是允许PHP脚本使用的最大内存量。基本上,这是一个安全配置选项,以确保您没有疯狂的PHP脚本并消耗服务器的所有内存 - 或者更糟糕的是,您没有多个PHP脚本占用的内存比服务器有。
可以在php.ini
文件中设置此配置指令;它是设置PHP配置的文件。
要找出服务器上php.ini
文件的位置,您可以使用phpinfo()
函数:在输出顶部附近,应该有一个“Loaded Configuration File
”选项
memory_limit应该使用哪个值是一个有趣的问题...过去,当我们只编写小脚本时,8MB
通常就足够了。
现在,使用Frameworks,层次结构更大的应用程序,ORM以及所有这些,8MB
通常不够(正如您明显注意到的那样) - 我通常设置{{1我的生产服务器上的memory_limit
,对我的应用程序来说几乎总是足够的,而不是太多。
所以,在我的32M
文件中,我有:
php.ini
注意:为memory_limit = 32M
添加一个非常高的值,以摆脱问题是很诱人的......但请记住memory_limit
在这里作为安全:你应该确保你的服务器有足够的内存可以同时回答几个请求!