我正在使用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
在这种情况下,如何优化内存(并使代码工作)?
非常感谢您的提示!
答案 0 :(得分:1)
您可以增加php.ini
的memory_limit
属性
现在似乎是128M,只需将其增加到1G
如何找出我的php.ini在哪里?
将phpInfo()
添加到例如AppKernel.php,显示它,搜索php.ini
你找到了......喜欢
已加载的配置文件/etc/php5/php.ini
如果你不想全局增加内存限制,你也可以用htaccess或直接从php设置属性