ugrás a tartalomhoz

Nagy méretű string (~5 MB) küldése szervernek

fchris82 · 2011. Júl. 7. (Cs), 00.51
Az ügyfél >15 ezer soros excelt szokott szinkronizálni a szerveren lévő adatbázissal. Ez most kibővült még néhány ezer sorral, és a VPS-en elfogy feldolgozás közben a memória, úgyhogy ezt a dolgot újra gondoltuk, és arra jutottunk, egyszerűbb lenne egy TEXTAREA, amibe copy-paste módszerrel beilleszti az egészet, és abból dolgozunk, így csak sima szöveget kell kezelni, úgy gondoltuk, ez sokkal kevesebb memóriát igényel, mint egy excelben járkálni. Persze erre nem volt bonyolult rájönni :)

A lényeg, hogy elkészült a form, kipróbáltam, 20 sorral, ment minden szépen. Ezután fellelkesedve ráeresztettem mind a ~20 000 sort, aminek az a váratlan eredménye lett, hogy a die(strlen($_POST['text'])); 0-t írt ki!!!

Nem jutott el a script-hez az adat... Végül azt a megoldást választottam, hogy egy fájlba kell beilleszteni az egészet, és a fájlt kell txt kiterjesztéssel feltölteni. Ez szépen működik is. De ettől még érdekelne, hogy a textarea-s elképzeléssel mi volt a baj? A php.ini-ben a post_max_size = 20M .
 
1

Postolt adat

Poetro · 2011. Júl. 7. (Cs), 01.31
Mekkora volt a POST-olt adat, és mennyi memória van engedélyezve a PHP-nak? Mert a POST adat mennyisége beleszámít a PHP által használható memória méretébe (míg a feltöltött fájl nem, hacsak nem olvasod be egyben memóriába).
2

5MB vs 768 MB

fchris82 · 2011. Júl. 8. (P), 22.21
Szia!

A POST-olt adat kb 5,5 MB (néztem Fiddlerrel), a php.ini-ben pedig 768 MB memória van engedélyezve. Szerintem ebbe bele kellett volna férnie :-/

Chris
3

Triviális kérdés

Poetro · 2011. Júl. 8. (P), 22.25
Ilyenkor szokott jönni a triviális kérdés. Tényleg az-e a mező neve, amint amit ellenőrzöl.
5

:D

fchris82 · 2011. Júl. 9. (Szo), 00.45
Na kössz :D Mondom, hogy 100 sorral vígan lefutott. A Fiddlerrel én is néztem, hogy hátha vmit időközben elírtam, a változónevet is ellenőriztem benne :) Tehát biztosan nem ez a bibi...
4

Suhosin?

janoszen · 2011. Júl. 9. (Szo), 00.10
Nincs véletlenül telepítve a suhosin? Mert az nagyon nem szereti default config mellett a hosszú változókat.
6

:?

fchris82 · 2011. Júl. 9. (Szo), 00.50
Nem rémlik, hogy vha is tettem volna ilyet a VPS-re. Szóval nincs :)

Húha. Azt hittem, hogy van vmi ismert probléma vagy config beállítás vagy vmi, amiről esetleg én nem tudtam. De ezek szerint a probléma oka nem is ilyen egyszerű, és valóban működnie kellene...
7

phpinfo()

janoszen · 2011. Júl. 9. (Szo), 01.11
A phpinfo() kimenete azonos véleményen van veled a suhosin meglétéről? Btw. nem kellene Neked egy rendszergazda? Mert ez még az egyszerűbb problémák egyike, amik VPS üzemeltetés kapcsán előjönnek.
10

:)

fchris82 · 2011. Júl. 10. (V), 00.31
Ok, te nyertél! Valóban van Suhosin, és valóban le van korlátozva: suhosin.post.max_value_length értéke 1 000 000.
Egyébként meg kellene majd rendszergazda. Esetleg lenne némi szabad kapacitásod? - persze nem ingyen gondoltam.
12

Nem nagyon

janoszen · 2011. Júl. 10. (V), 00.53
Nem vállalok privát melót, a DotRollos munkák és a hobbiprojektek eléggé lefoglalnak. Nem tudom, miről van szó, de ha valami tényleg jó dolog (karitatív vagy nagyon jópofa) akkor beszélgessünk róla privátban.
13

Esetleg írhatnál pár szót

H.Z. v2 · 2011. Júl. 10. (V), 07.13
Esetleg írhatnál pár szót nekem is. Van némi üzemeltetési gyakorlatom, igaz, kissé más jellegű környezetből.
15

Működik

fchris82 · 2011. Júl. 10. (V), 16.26
Át kellett írni a suhosin.post.max_value_length és a suhosin.request.max_value_length értékét is, csak azután működött. De most már jó!
8

Ha Ubuntud v. Debianod van...

H.Z. v2 · 2011. Júl. 9. (Szo), 06.34
Ha Ubutud v. Debianod van és nem forrásból telepítetted a PHP-t, akkor biztosan rajta van a Suhosin is.
9

Ezt nézd

H.Z. v2 · 2011. Júl. 9. (Szo), 07.41
Ezt nézd meg:
http://php.net/manual/en/ini.core.php

Az textarea-t tartalmazó note lehet a lényeg.
(mondjuk nem tartom jó ötletnek a biztonsági eszközök letiltását, de pillanatnyilag nincs jobb tippem)
11

Köszi

fchris82 · 2011. Júl. 10. (V), 00.39
Először megnézem a suhosines átállítást, aztán ha nem válik be, megnézem ezt az Apache configos lehetőséget.
14

CGI mód

vbence · 2011. Júl. 10. (V), 07.45
Ha CSV fájl importálásáról van szó adatbázisba, hasznos lehet egy CGI módú megközelítés. Ilyenkor a standard inputról olvasol, és generálhatod az inserteket anélkül, hogy pufferelni kéne. - Ha jól értettem teljes ellenőrzésed van a környezet felett.