2011-04-25 2 views
2
max_execution_time = 30  ; Maximum execution time of each script, in seconds 
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data 
;max_input_nesting_level = 64 ; Maximum input variable nesting level 
memory_limit = 128M  ; Maximum amount of memory a script may consume (128MB) 

Avec 128 Mo par défaut, tout est okPHP - limite de mémoire

Mais quand je modifier php.ini comme celui-ci

memory_limit = 128000000  ; Maximum amount of memory a script may consume (128MB) 

Je me suis je remarque:

Erreur fatale: Autorisé taille de la mémoire de 262144

128000000 @ 128 Mo ou apache ne sait pas 128000000

+2

Veuillez indiquer la ligne * exact * dans php.ini que vous utilisez. –

+6

Si cela fonctionne, ne le réparez pas! – Phliplip

+0

Je veux savoir la bonne façon de définir cette valeur 128M ou 128000000 ou les deux sont corrects – Chameron

Répondre

4

Nous ne savons pas comment l'analyseur php ini traite votre requête lorsque vous n'utilisez pas leur façon standard d'écrire la taille de la mémoire en utilisant une lettre à la fin. Une chose est certaine cependant, même si elle ne s'additionne pas à 262144, 128 000 000 ne seront jamais 128 Mo mais plus comme 122 Mo car je suis sûr que vous connaissez 1 Mo = 1024 * 1024 octets !! Si vous avez vraiment besoin de ce que vous faites, vous pouvez essayer: 128000000b (notez le 'b' à la fin du nombre) mais je ne suis pas sûr que php ini parser développeur ait jamais pensé que quelqu'un jetterait des octets à leur.

3

La bonne façon est d'utiliser l'unité (128M)

0

Le comportement par défaut si un nombre entier donné est à interpréter comme des octets. Voir http://php.net/manual/en/ini.core.php. Et comme Yahel l'a souligné 1 Mo = 1024 octets. Donc, si vous voulez 128 Mo vous écrivez soit "128M" ou "134217728"

Rappelez-vous aussi que vous pouvez toujours vérifier quelle est la limite de votre mémoire est réglée avec phpinfo(); Si votre php n'a pas été compilé avec --enable-memory- limite dans la ligne de configuration (si vous utilisez une version antérieure à 5.2.1) alors rien de tout cela ne fonctionnera.

0

Vous devez écrire comme ci-dessous. Il devrait être multiple de 8 memory_limit = 128M; Quantité maximale de mémoire qu'un script peut consommer (128 Mo)

Il prend par défaut de la mémoire en Mo.