Symfony2:SerializerBuilder和Memory

时间:2015-11-30 10:34:14

标签: symfony serialization

我正在使用Symfony 2进行小型API,我遇到了数据序列化的问题。

我的控制器中有这个代码:

// Create the $serializer
$serializer = SerializerBuilder::create()->build();
// Put the serialized data in $jsonContent
$jsonContent = $serializer->serialize($products, 'json');
// Generate a Json Response
$response = new Response($jsonContent);
$response->headers->set('Content-Type', 'application/json');
return $response;

但是我的$products集合中有超过1000行,而且我的服务器似乎没有足够的内存来处理它,此代码返回HTTP Error 500。以下是Apache日志行:

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 75 bytes) in /var/www/blog/vendor/jms/serializer/src/JMS/Serializer/GenericSerializationVisitor.php on line 152

在这种情况下,如何优化内存(并使代码工作)?

非常感谢您的提示!

1 个答案:

答案 0 :(得分:1)

您可以增加php.ini

memory_limit属性

现在似乎是128M,只需将其增加到1G

如何找出我的php.ini在哪里?

phpInfo()添加到例如AppKernel.php,显示它,搜索php.ini

你找到了......喜欢

已加载的配置文件/etc/php5/php.ini

如果你不想全局增加内存限制,你也可以用htaccess或直接从php设置属性