2017-09-14 4 views
1

Je suis confronté à un problème Taille de la mémoire épuisée dans Laravel 5.5. Son avant signifie la version 5.4 mon code fonctionne mais pas maintenant. Pour cela j'ai augmenté la taille de la mémoire du fichier php.ini memory_limit 1024M. mais ne fonctionne pas. essentiellement je convertis le fichier de format de fichier Base64, puis le stockage dans mon stockage local de pc ou de serveur.Taille de la mémoire autorisée de 134217728 octets épuisés (tentative d'allocation de 62926848 octets)

code contrôleur

public static function convertBase64ToFile ($file , $dir ) 
{ 
    $pos = strpos($file, ';'); 
    $type = explode(':', substr($file, 0, $pos))[1]; 
    $format = explode('/',$type); 

    $exploded = explode(',', $file); 

    $decoded = base64_decode($exploded[1]); 

    if(str_contains($exploded[0], $format[1])) 

    { $extension = $format[1];} 

    $filename = str_random().'.'.$extension; 

    $path = public_path().$dir.$filename; 

    file_put_contents($path, $decoded); 

    return $filename; 
    } 

message:

"taille maximale autorisée pour la mémoire de 134217728 octets épuisé (a essayé d'allouer 65015808 octets)", "exception": « Symfony \ Component \ Debug \ Exception \ FatalErrorException ",

+1

Quelle est la taille du fichier? – ceejayoz

+1

vérifiez les maths. Je vois 134 Mo, pas 1024. – ficuscr

+1

Jetez un oeil à la sortie de phpinfo et vérifiez si memory_limit a été modifié. –

Répondre

0

Dans wamp vous avez 2 fichiers php.ini. On est dans \wamp\bin\php\php.x.y.z mais celui-ci est seulement pour CLI, et le second est dans \wamp\bin\apache\apache2.x.y\bin\. Vous devriez vérifier le second