Toon posts:

PHP maximum variable size

Pagina: 1
Acties:
  • 107 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Lijkt een domme vraag op het eerste zicht, maar ik kan er nergens een duidelijk antwoord op krijgen. Niet in de search hier, ook niet op php.net of in andere documentatie.

Ik zou willen weten wat de maximum size is van een variabele onder PHP. Ik bedoel : stel ik heb de var $tekst. Hoeveel tekens mag de tekst maximaal zijn voor een var in PHP ? In MySQL kan ik mediumtext of largetext fields gebruiken, maar ik vraag me alleen af of ik die > 64K fields zondermeer kan manipuleren in een $var...

Iemand die exact weet wat kan en wat niet ?

Verwijderd

Ik denk dat de bottleneck voor variable size bepaald wordt door de optie memory_limit in je php.ini

memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 15-09 12:33
Klopt, die memory_limit bepaald dat voor een heel groot deel.

Als het ook om MySQL gaat; houd er rekening mee dat een SQL query ook een maximum lengte heeft (standaard 2 MB dacht ik). Als je met grote bestanden werkt kan je ze IMO het beste op je filesystem opslaan met in de DB alleen een verwijzing naar die link. Als je alles perse in de DB wil houden kan je met INFILE (of zoiets) werken..

Verwijderd

Topicstarter
Op maandag 26 november 2001 15:47 schreef fladder het volgende:
Ik denk dat de bottleneck voor variable size bepaald wordt door de optie memory_limit in je php.ini

memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
Mmmmja... zou kunnen... ik heb zelf met het volgende domweg snel getest hoever ik kan gaan :

for ($x=0; $x<5000; $x++) {
$testvar .= "Line : ".$x." Content : abcdefghijklmnopqrstuvwxyz<br>";
}

echo $testvar;


Aangezien elke lijn +- 50 tekens lang is, kom ik zo al aan een kleine 250K in 1 $var. Dus, het *lijkt* geen probleem, maar ik zou toch graag ergens iets 'officieel' lezen of horen voor ik verderwerk op hetgeen ik nu weet.

Verwijderd

Topicstarter
Op maandag 26 november 2001 16:01 schreef bartvb het volgende:
Als het ook om MySQL gaat; houd er rekening mee dat een SQL query ook een maximum lengte heeft (standaard 2 MB dacht ik). Als je met grote bestanden werkt kan je ze IMO het
In de MySQL docs vond ik een melding van 16meg :

Note that
because the server/client protocol and MyISAM tables has currently a limit of
16M per communication packet / table row, you can't yet use this the whole
range of this type.

maar dat doet er niet toe... zelfs met die 2meg kom ik ruimschoots toe :)

Het systeem waar ik het voor nodig heb is om korte samenvattingen van boeken, publicaties en dergelijke op te slaan in een database, om zo een searchable archief te kunnen opbouwen. En sommige van die teksten durven >64K te zijn. Dat is/was mijn probleem. Maar het zal wel loslopen denk ik :)

  • vinnux
  • Registratie: Maart 2001
  • Niet online
Behalve de gebruikte geheugenlimiten kun je er van uitgaan dat de onderliggende typen in de trend van long, string, char en int zijn.

Volgens mij is php in C geschreven als ik me niet vergis, dus dat zou inhouden dat een string maximaal MAX_INT aan chars kan bevatten.

Als je wil kan ik wel ff opzoeken wat de precieze waarden zijn.

Verwijderd

Topicstarter
Op maandag 26 november 2001 16:29 schreef vgouw het volgende:
Als je wil kan ik wel ff opzoeken wat de precieze waarden zijn.
Als je er de tijd voor moest hebben... :) want dat is net het detail... ik kan *nergens* letterlijk vinden hoever het nu mag of kan, of welke sizes 'officieel' supported zijn.

Ik heb namelijk geen zin om dit systeem voor soms-groter-dan-64K samenvattingen op te zetten en uit te bouwen, om dan bij een eventuele upgrade van MySQL of PHP door mijn hostingprovider, te ontdekken dat het boeltje de mist in gaat wegens 'niet volgens de guidelines gewerkt te hebben'... :)

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 15-09 12:33
64k is totaal geen probleem, ook niet met default instellingen.
Pagina: 1