我正在使用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
在这种情况下,我如何优化内存(并使工作成为我的代码)?
非常感谢你的建议!
发布于 2015-11-30 06:35:49
可以增加memory_limit
属性的php.ini。
现在似乎是128米,把它调高到1G。
如何找出我的php.ini在哪里?
将phpInfo()
添加到例如AppKernel.php,显示它,搜索php.ini
你就能找到某物。喜欢
加载配置文件/etc/php5 5/php.ini
如果不希望全局增加内存限制,还可以使用htaccess或直接从php设置属性。
https://stackoverflow.com/questions/33996513
复制相似问题