Hosszú poszt nem menthető

WP 2.6.1 és 2.6.2 van telepítve különféle puginekkel és teljesen csupaszon is. Ugyanaz a hibajelenség:











Egy bizonyos méreten (történetesen a 33.330 karakteren) felüli posztot nem menti el. A méret alattit menti, de már egy karakterrel felette nem ment és üres beíró felülettel tér vissza a mentésből hibaüzenet nélkül. A méreten aluli bejegyzést normálisan megjeleníti, a felettinél csak a cím jelenik meg, tartalom nem. A méret feletti poszt újranyitás után is üres.











Sehol nem találtam utalást arra, hogy a WP korlátozná a bejegyzések méretét. Egy hasonló angol nyelvű fórumtémát találtam, megoldás nélkül. Többféle panasz volt arra, hogy a WP nem ment valamit, vagy levág a szövegből, ebben az esetben azonban nem vág le semmit, és ha méret alatt van, akkor normálisan működik.











A szerveren PHP 5 és MySQL 5 van. A php memory_limit 16M, a post_max_size 8M, mysql alatt nem látok korlátozást.











Mi a megoldás?

Bevitelkor próbáld meg első körben kikapcsolni a javascriptet, és úgy menteni. Ezzel kiszűrjük, hogy az editor nem bírja-e a sarat, vagy maga a szoftver.











Az adatbázisban a mező típusa longtext, vagyis akár 4 GByte adat is belefér, szóval nem SQL gond.

És ha “újoldalt” szúrsz be, azaz tagolod a szöveget, akkor sem menti?

Köszönöm a gyors reagálást.










  1. Kikapcsoltam a javascriptet, a hibajelenség maradt.










  2. Szúrtam be egy és több újoldal jelet (nextpage), de ez nincs hatással a dologra.










  3. Egyes helyeken hibás mentésre .htaccess bejegyzéseket javasoltak, egyik sem működött nekem.










  4. Kipróbáltam IE7 alatt is, de ugyanaz mint a FF3 alatt, vagyis nem böngészőfüggő a hiba.










  5. Regisztráltam a wordpress.com alatt egy blogot, hogy ott is megpróbáljam. Ott tökéletesen működik, pedig beraktam egy posztba vagy ötszázezer karakternyi szöveget simán word-ből. Igaz, hogy ott az MU működik, de az is min. 2.6-os lehet, mert a változáskövetést már tudja.











    Gyanús, hogy mégiscsak a szerver beállításánál lehet valami, már csak azért is, mert ugyanarra szerverre, más domének alá legalább öt Worpresst installáltam, amik amúgy szépen működnek, de mind ugyanezt a hibát mutatják. Hagytam egy olyan telepítést is, ahol semmi plugin nincs, és minden alapbeállításon van, az is azt csinálja. Így nincs okom pluginra vagy hibás plugin által rontott telepítésre gyanakodni.











    Innen letölthető a szerver teljes beállítási jelentése.











    :frowning:

következő tippem a “memory_limit 24M”

az nem lehet, megy nekem wp-m 12 megával. ez valahol az adatbázis körül van valami elkefélve











egy my.cnf jo lenne

a memory_limit emelése nem jött be, pont ugyanúgy viselkedik











:frowning:

Kipróbáltam 100.000 szóval (ez több 100e karakter) itt a word-press.hu-n. Nem volt gond. Nem mondom, hogy gyors volt, de elmentette simán.











memory_limit 32M





post_max_size 32M











Szerintem próbáld ezeket az értékeket emelni, tuti, hogy ez lesz a gond!

Nem lehet, hogy az sql futtatásának ideje van lekorlátozva, hogy ne történjen buffer-overflow?











Illetve:



Stefan Esser wrote:

MYSQL-ben létezik egy max_packet_size opció, aminek az értéke alap beállításoknál csupán


csak 1Mbyte, ez szabályozza a kliens-szerver közötti adat folyam maximális méretét, vagyis ebből


következik, hogy egy túlnyújtott SQL lekérdezés sosem éri el a szervert, vagyis sosem futhat le.


...


MySQL a max_packet_size értékét a max_allowed_packet-ből kapja, amit mind a my.cnf konfig fájlba, mind működés közben lehet állítani.


- MySQL and SQL Column Truncation Vulnerabilities -

Megvan a megoldás!











A suhosin PHP védelmi rendszer alapbeállítása akadályozta a nagyobb fájl mentését.











A /etc/php5/conf.d/suhosin.ini fájlban ezeket kellett beállítani így:











suhosin.request.max_value_length=1000000





suhosin.post.max_value_length=1000000





suhosin.memory_limit=48M











48M-ra emeltük a php memory-limitet is, de annak nincs kihatása erre a problémára.











Köszönöm a válaszokat.

Egy pótlólagos megjegyzés, csak érdekességeként.











Két másik szerveren is megnéztem, hogyan ment nagy bejegyzést.











A wordpress.com alatt bejegyzett blogban egy kb. 500 ezer karaktereset mentettem el gond nélkül, és szépen meg is jelenítette. Még csak nem is volt rettentően lassú (10 mp max.). Nextpage-gel a lekérdezés tökéletesen fürgévé vált, de egy ilyen hosszó szöveg már túl kényelmetlenül szerkeszthető egyben.











A webhosticon szerverén levő telepítésben egy legalább 800 ezer karakterest próbáltam menteni (de lehet, hogy több is volt, mert másolással többszöröztem a szöveget). Rettentő nehezen el tudta menteni,





de ebbe belejátszhatott az is, hogy délben minden nagyon lelassult itt az interneten. Megjeleníteni azonban már nem volt képes. Ezt egyszer-kétszer próbáltam. Délután kaptam egy mailt a rendszergazdától, hogy túlterhelés miatt letitottak, mert 60% fölé vittem a szerver terhelését. Elmondtam, mi történt, utána feloldották a tiltást. Mindenestre nagyon tanulságos. Nyilván nekik kisebb és kevesebb szerverük van, mint a wordpressnek, és persze ekkora szövegmennyiség már teljesen értelmetlen egy bejegyzésben. Mindenestre nem vártak rám, s rögtön feltették nekem a WP Super-cash plugint :slight_smile: (Ez biztos jól jön normál használatban, de ebben az esetben, mint első mentés és első megjelenítés, szerintem nem sokat segített volna.)











Volt egy kérdésem, amire nem tudtak válaszolni: egy 100-200 k-s bejegyzés, ami még józan ésszel előfordulhat, mekkora terhelést jelent (nyilván ez szervertől is függ, de talán arányosítható egy 500 vagy 1000 k-s bejegyzéshez).

nem igazán arányosíthato. mivel a mysql alapvetoen kis méretű adatbázisokhoz jó, nagyobb méret nél nem lineárisan novekszik a terhelés.

Üdv!











Én is hasonló gondokkal küzdök, mint banyay kartárs nemrég. Banyay fenti, 2008-09-17 21:10:43-i hozzászólásában vázolta a probléma megoldását, azaz, hogy mit-hol kell átírni.











Elnézést kérek - de számomra nem egyértelmű a hibaelhárítás pontos helye. El tudná valaki mondani a változtatandó fájl pontos elérését?





Lehet, hogy hülyeséget mondok most, de a fenti könyvtárcím nekem Linuxos szerkezetűnek tűnik, ami lokális könyvtárcímet feltételez. Nekem viszont a külföldi tárhelyszolgáltató szerverbeállításai között kellene megoldást találnom a hosszú posztok megjelenítésének problémájára.











Bocs, ha hülyeséget kérdeztem! Előre is köszönöm a segítséget!

Ha nem te vagy a host admin - nem valószínű, hogy azokat a beállításokat meg tudod változtatni.

Igen, ez a host admin dolga. őt kell megkérni, hogy ellenőrizze.