SORU
6 Temmuz 2010, Salı


PHP bir Dize maksimum uzunluğu nedir?

Ne kadar büyük PHP $variable alacak? Bu test için denedim, ama yeterli sistem belleği (~2 GB) var emin değilim. Orada bir sınırı olmalı diye düşündüm. Bir dize çok büyük aldığında ne olur? Birleştirilmiş veya PHP bir özel durum mu?

CEVAP
6 Temmuz 2010, Salı


Başlı başına tek bir dize değişkeni mimari sınırı yok.
düzenleme:Kullanıcı @Pacerier aşağıya yorum, PHP manuel artık ABD gibi:

Not:string2 GB kadar büyük olabilir.

ben ilk 2010. Bu soruya cevap verdiğinde (not wasn't in the manual)

Bütün bir dosyanın içeriğini, örneğin file_get_contents() kullanarak yudumda

Ancak, PHP bir script bu, etkili bir şekilde tek bir string değişken uzunluk sınırı da yerler yani verilen bir komut dosyası yürütme tüm değişkenler için tahsis, toplam bellek sınırı vardır.

Bu sınır, php memory_limit Yönerge.ını yapılandırma dosyası. Bellek önceki sürümlerde PHP 128 MB varsayılan olarak 5.2, 8 MB sınırı.

Php bellek sınırı belirlemezseniz.ını dosyası, PHP çalıştırılabiliri içinde derlenmiş varsayılan olarak kullanır. Teoride kaynağı değiştir ve PHP bu varsayılan değeri değiştirmek için yeniden oluşturabilirsiniz.

Eğer php bellek sınırı olarak -1 belirtirseniz.dosya otelinde, kontrol durdurmak ve komut işletim sistemine ayıracak kadar bellek kullanmak için izin verir. Bu hala pratik bir limit vardır, ama sistem kaynaklarını ve mimarisine bağlıdır.


Re @c2 yorum:

İşte bir test

<?php

-- limit memory usage to 1MB 
ini_set('memory_limit', 1024*1024);

-- initially, PHP seems to allocate 768KB for basic operation
printf("memory: %d\n",  memory_get_usage(true));

$str = str_repeat('a',  255*1024);
echo "Allocated string of 255KB\n";

-- now we have allocated all of the 1MB of memory allowed
printf("memory: %d\n",  memory_get_usage(true));

-- going over the limit causes a fatal error, so no output follows
$str = str_repeat('a',  256*1024);
echo "Allocated string of 256KB\n";
printf("memory: %d\n",  memory_get_usage(true));

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
Php

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EatingIn

    EatingIn

    12 EKİM 2013
  • Microsoft Research

    Microsoft Re

    24 EKİM 2008
  • ThePointblank

    ThePointblan

    18 Aralık 2006