2
如果我嘗試使用JMSSerializerBundle
導出大量數據,我收到以下錯誤消息。使用JMSSerializerBundle導出大量數據
FatalErrorException: Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1332351 bytes) in /var/www/app/trunk/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php line 27
如果我導出這個包只有很少的記錄,一切工作正常。
$format = 'json';
$serializer = \JMS\Serializer\SerializerBuilder::create()->build();
$serializer->serialize($data, $format, SerializationContext::create()->enableMaxDepthChecks());
陣列$data
的計數1917
我該如何處理這個問題呢?
目前我有128M,我增加了功能的memory_limit,我需要它256M「ini_set('memory_limit','256M')」。如果我修改我的「php.ini」並重新啓動php「/etc/init.d/php5-fpm restart」,我的修改對應用程序沒有影響。在ini文件中設置它會更好嗎? – smartcoderx 2014-12-02 08:37:40
這取決於你是否希望將它放在所有東西的本地或只是在那裏。你看到不同的輸出回聲ini_get('memory_limit')或不?如果沒有,嘗試在ini中設置它(仔細檢查是apache ini而不是cli ini) – 2014-12-02 09:35:56
這是正確的ini。如果我調用「phpinfo()」,我的pnp ini文件的路徑是「/etc/php5/fpm/php.ini」。我修改「memory_limit」並重新啓動「php5-fpm」和「apache」,但沒有任何事情發生。如果我調用「phpinfo()」,「memory_limit」不會修改。我不知道我該如何解決這個問題。是256M好的一個PHP應用程序,或者我應該增加這個? – smartcoderx 2014-12-02 14:39:34