2015-11-30 30 views
0

我正在使用Symfony 2的一個小型API,我遇到了數據序列化的問題。Symfony2:SerializerBuilder和內存

我有這樣的代碼在我的控制器:

// 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

可以增加你的php.ini

這似乎是128M,現在,只需將它提高到1G

如何找出我的php.ini中的memory_limit財產?

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

,你會發現某事。像

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

如果你不想globaly增加內存的限制,您還可以設置與htaccess的或直接從PHP

+0

解決了我,問題的性質, 謝謝! – Hammerbot