Avatar billede Slettet bruger
08. august 2009 - 21:25 Der er 64 kommentarer og
1 løsning

Max 1656 linier i Textarea?

God aften,

Først og fremmest har jeg lagt dette ind under PHP af mangen på bedre. Jeg ved nemlig ikke, om det er PHP der er problemet eller om det er HTML.

Jeg håber nogen kan svare på dette.
Jeg har et text area, hvor i der skal indsættes en bunker linier.
Mange tusinde.

Men så snart jeg kommer over 1656 linier, så dropper den al data og går simpelthen ikke videre og husker ej heller det man satte ind.

Hvad er grunden til dette og er der en måde hvor på, man kan behandle flere linier end 1656?
Avatar billede erikjacobsen Ekspert
08. august 2009 - 22:21 #1
Det kan skyldes mange ting: timeout på serveren, begrænsning i feltstørrelsen i databasen.

Hvis du kan blive mere præcis om hvor det går galt, kan vi måske finde ud af det.
Avatar billede olebole Juniormester
08. august 2009 - 22:28 #2
<ole>

Sendes der GET eller POST?

/mvh
</bole>
Avatar billede Slettet bruger
08. august 2009 - 22:31 #3
method er post.
Og der er ikke database involveret.

Hvis jeg tager 1656 linier og beder den udskrive det postede, så er der ingen problemer.
Sætter jeg 1657 linier ind, så clearer den.

Jeg får ingen besked om timeout eller noget og det tager ikke mere end et par millisekunder for den at cleare.
Avatar billede erikjacobsen Ekspert
08. august 2009 - 22:37 #4
Hvor mange kbyte, sådan ca., indsætter du?
Avatar billede erikjacobsen Ekspert
08. august 2009 - 22:38 #5
...og: webhotel (hvilket)/egen server? Har du slået php-fejlbeskedder til på serveren?
Avatar billede Slettet bruger
08. august 2009 - 22:42 #6
137.889 byte

Virtuel server og nej har ikke slået php-fejlmeddelser til.
Jeg har ingen forstand på servere. Normalt hvis der er noget der skal foretages af ændringer på serveren, så får jeg hosten til at ændre det (flink host).
Avatar billede olebole Juniormester
08. august 2009 - 22:44 #7
Hvis jeg skriver blabla på en linje - og kopierer den 1700 gange under hinanden - i min teksteditor, samt afslutter med en slutlinje: OleBole, så modtages der 1701 linjer på serveren med den rigtige slutlinje, når jeg poster den fra en form.

Jeg kan endvidere uden problemer sende over 1.000.000 tegn
Avatar billede erikjacobsen Ekspert
08. august 2009 - 22:46 #8
"og nej har ikke slået php-fejlmeddelser til." ... så leder vi i blinde.
Avatar billede Slettet bruger
08. august 2009 - 22:46 #9
Okay, ud fra Oleboles svar må jeg jo så konstatere, at det er serveren der timer out.
Avatar billede olebole Juniormester
08. august 2009 - 22:46 #10
Skriv:

<?php
error_reporting(E_ALL);
... osv ... osv ...

- så slår du fejlmeddelelser til. Du kan umuligt kode uden  ;o)
Avatar billede olebole Juniormester
08. august 2009 - 22:51 #11
Normalt vil PHP time ud efter 30 sekunder. Kører scriptet virkelig så længe? Du kan prøve:

<?php
error_reporting(E_ALL);
set_time_limit(120);

- men det skal nok ikke være et script, du kører ofte  =)
Avatar billede Slettet bruger
08. august 2009 - 22:54 #12
Okay, får pludselig forskellige fejlkoder jeg lige skal forholde mig til.
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:03 #13
Hvis spørgeren får blank side efter "millisekunder", så render vi nok ikke ind i de 30 sekunders grænse (selv om relativitetsteorien måske kunne bringes på banen).

Men må vi kigge med på dine fejlkoder, og evt. se med. Det er sikkert nok med den sidste - du får formentlig en del, der ikke har med dette problem at gøre.
Avatar billede Slettet bruger
08. august 2009 - 23:08 #14
Okay, here goes:
Jeg har skåret koden ned til minimum, så den ser ud som følger:

<?php
error_reporting(E_ALL);
set_time_limit(120);
?>
<form method="post" action="">
    <textarea id="felt" name="felt"><?php if ($_POST['felt']) { echo $_POST['felt']; } ?></textarea><br />
    <input type="submit" id="goAhead" name="goAhead" value="do this" />
</form>
<?php
if ($_POST['goAhead'])
{
    echo $_POST['felt'];
}
?>

Jeg får så følgende:
Notice: Undefined index: goAhead in /var/www/web1/html/v2/test2.php on line 10

I textarea står der ved indlæsning af test2.php:
<br />
<b>Notice</b>:  Undefined index:  felt in <b>/var/www/web1/html/v2/test2.php</b> on line <b>6</b><br />
Avatar billede Slettet bruger
08. august 2009 - 23:10 #15
Når jeg smider alle linier ind (3500+), så udskriver den intet, men giver denne fejlkode:

Notice: Undefined index: felt in /var/www/web1/html/v2/test2.php on line 12
Avatar billede olebole Juniormester
08. august 2009 - 23:19 #16
if ( isset($_POST['goAhead']) )
Avatar billede olebole Juniormester
08. august 2009 - 23:21 #17
- og:
    <?php if ( isset($_POST['felt']) ) { echo $_POST['felt']; } ?>

Men det er notices - ikke fejl  ;o)
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:21 #18
Det er nok at ændre (2 steder) til

if (isset($_POST['goAhead']))

Det er en harmløs fejl. Lad os høre hvad der så sker.

Står der HTML-kode eller sådan noget i din tekst?
Avatar billede Slettet bruger
08. august 2009 - 23:22 #19
Godt så, fejl væk ved loading af siden.
Men når man poster det lange kommer fejlen:

Notice: Undefined index: felt in /var/www/web1/html/v2/test2.php on line 12
Avatar billede Slettet bruger
08. august 2009 - 23:24 #20
Nej, ingen html eller lignende i det postede.
Almindelige bogstaver, mellemrum, linieskift og tal.
Avatar billede Slettet bruger
08. august 2009 - 23:25 #21
Hvad betyder de der notices?
Lidt underligt at se dem nu, når man har været blind for, at man har gjort noget galt i så mange år.
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:25 #22
Og hvilken browser bruger du ?
Avatar billede Slettet bruger
08. august 2009 - 23:26 #23
FireFox.
Avatar billede olebole Juniormester
08. august 2009 - 23:26 #24
Lav en fil med indholdet:

<?php
phpinfo();
?>

- upload den og kald den i en browser. Søg efter post_max_size. Hvad står dér?
Avatar billede Slettet bruger
08. august 2009 - 23:28 #25
post_max_size    8M    8M
Avatar billede Slettet bruger
08. august 2009 - 23:29 #26
Jeg får nøjagtig samme feedback i FF, IE og Chrome.
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:31 #27
Hvis det ikke er statshemmeligheder, må du gerne prøve at gøre det samme på http://n0p.com/883074.php - dit script, med isset-erne
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:33 #28
Jeg kan sende 160 kByte igennem scriptet
Avatar billede Slettet bruger
08. august 2009 - 23:33 #29
Done og den udskriver det hele.
Tog nogle sekunder.
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:34 #30
Og: post_max_size    8M
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:35 #31
Ok, så scriptet virker på en "tilfældig" host, men ikke hos dig. Hvor kan den begræsning ligge ??
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:36 #32
(ja, jeg har et lille marsvin til at afgræsse udenfor - men den kan ikke klare alle 20.000 kvm)
Avatar billede Slettet bruger
08. august 2009 - 23:36 #33
Well, konklussionen må jo være, at min server begrænser.
Jeg fatter så bare ikke lige hvor og hvorfor.
Avatar billede olebole Juniormester
08. august 2009 - 23:39 #34
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:39 #35
Det er ikke sikkerhedsmæssigt sundt eller anbefalelsesværdigt at offentliggøre indholdet af det script, som Ole bad dig lave. Men hvis vi kunne kigge på det, og sammenligne, så kunne vi måske finde den lille lus ...
Avatar billede Slettet bruger
08. august 2009 - 23:41 #36
Altså phpinfo filen?
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:42 #37
Den der med phpinfo, ja.

Men limitrequestbody skal give en fejl - ikke cutte teksten af...
Avatar billede Slettet bruger
08. august 2009 - 23:43 #38
Den cutter ikke teksten af, den dropper teksten.
Avatar billede Slettet bruger
08. august 2009 - 23:44 #39
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:47 #40
Ku' være:  suhosin.post.max_value_length    65000    65000
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:48 #41
Og fjern/omdøb scriptet når vi er færdige.
Avatar billede Slettet bruger
08. august 2009 - 23:49 #42
Ikke umuligt, jeg har ingen anelse om hvordan jeg ændrer det.
Jeg skulle meget gerne have adgang til alt, men skal guides hen til hvilket filer der skal ændres i og hvad der skal ændres.
Avatar billede Slettet bruger
08. august 2009 - 23:49 #43
Det fjernes selvfølgelig :)
Avatar billede Slettet bruger
08. august 2009 - 23:52 #44
Tror jeg har fundet filen og linien der definerer de 65000.
Hvad bør den stå til?
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:53 #45
2 millioner (2MB) er vel en ok grænse her og nu, men du bestemmer jo
Avatar billede olebole Juniormester
08. august 2009 - 23:53 #46
I følge:
    http://www.hardened-php.net/suhosin/configuration.html

suhosin.post.max_value_length
Type: Integer
Default: 65000
Defines the maximum length of a variable that is registered through a POST request.

Men da den pr. default er sat til 65.000, burde vi andre jo ikke kunne poste så store mængder, som tilfældet er(?)
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:55 #47
Du skal være opmærksom på, at hvis du skal til at uploade billeder fra de her moderne digital-kameraer, så skal grænsen nok sættes op.

Og du skal nok genstarte Apache efter ændringen.
Avatar billede erikjacobsen Ekspert
08. august 2009 - 23:56 #48
Har du suhosin på din server/webhotel, Ole? Jeg har ikke.
Avatar billede Slettet bruger
08. august 2009 - 23:58 #49
Weird.
Har ændret filen, og den Er ændret.
Har genstartet apache, men phpinfo siger stadig 65000.
Så har åbenbart fat i den forkert fil.
Den ligger i php5/conf.d mappen.
Avatar billede olebole Juniormester
09. august 2009 - 00:00 #50
Erik >> Nej, det har jeg ikke. Kan det mon være årsagen?  ;D
Avatar billede olebole Juniormester
09. august 2009 - 00:03 #51
ssnielsen >> øverst i det link, jeg sendte:
    Suhosin‘s features are all configured through the php.ini configuration file. Here you can find descriptions of all supported options.
Avatar billede erikjacobsen Ekspert
09. august 2009 - 00:05 #52
Jeg kan ikke sige hvor du skal ændre det. Mine erfaringer med suhosin er mindre end min erfaring med at fodre platfodede frøer med aflagte paraplyer. Dvs. lig 0.
Avatar billede erikjacobsen Ekspert
09. august 2009 - 00:06 #53
Men din php.ini fil er /etc/php5/apache2/php.ini - ifølge dit php.ini script
Avatar billede olebole Juniormester
09. august 2009 - 00:07 #54
- ehhh ... er det allerede blevet svampetid i de vestlige kolonier? Eller er det gærsvampe, der sprudler?  :D
Avatar billede Slettet bruger
09. august 2009 - 00:08 #55
Hvis din erfaring med at fodre platfodede frøer med aflagte paraplyer er større end din erfaring med Suhosin, og din erfaring med Suhosin er lig nul, så er din erfaring med at fodre platfodede frøer med aflagte paraplyer altså større end nul?

Jeg kan ikke finde noget som helst i php.ini om Suhosin, så for nu må jeg bare undres over hvorfor det ikke virker og så se om min host kan svare mig :)

Jeg takker for hjælpen.
Ole, hvis du vil have pointene, så læg et svar.
Kan jo ikke så godt tilbyde Erik nogle point, eftersom han insisterer på ikke at samle.

Endnu engang tak for hjælpen. Fik da lært lidt. Sådan da :D
Avatar billede erikjacobsen Ekspert
09. august 2009 - 00:09 #56
Men din php.ini fil er /etc/php5/apache2/php.ini - ifølge dit phpinfo()-script ... mente jeg

Gærsvampe - er det de "små grå" man snakker så meget om ?
Avatar billede olebole Juniormester
09. august 2009 - 00:09 #57
- nå, aflagte frøer med platfodede paraplyer havde nu nok givet mig endnu værre billeder at forholde mig til  :)

Og selvtak  ;o)
Avatar billede erikjacobsen Ekspert
09. august 2009 - 00:11 #58
Nej tak, ikke point til mig.

Nogle indstillinger findes også i httpd.conf filen til apache. Typisk.

Man skal ikke tage alt bogstaveligt hvad Ole og jeg (mig?) skriver. Typisk.
Avatar billede olebole Juniormester
09. august 2009 - 00:15 #59
Erik #56 >> "små grå" ... er det ikke det dér bolschevand, I plejer at kalde "sorte svin" derovre?

Du må i hvertfald endelig ikke forveksle gærsvampe med "de små blå", "de små gule" eller "de små violette" fra vores ungdom. Det er noget helt andet! ... og når vi har fat i de år: Heller ikke "den lille røde"  ;D
Avatar billede erikjacobsen Ekspert
09. august 2009 - 00:15 #60
"Jeg kan ikke finde noget som helst i php.ini om Suhosin" - hvis du ikke kan det, anvendes vel default værdier. Typisk. Så kan du vel tilføje en linie i php.ini (den korrekte), som ændrer værdien. Brug Oles link som hjææælp. Typisk.
Avatar billede Slettet bruger
09. august 2009 - 00:18 #61
Kigger på det senere.
Er mere end forundret over, hvordan indstillingen på 8M overwrites af en anden fil.
Avatar billede erikjacobsen Ekspert
09. august 2009 - 00:18 #62
Maos lille røde står skam her på hylden ved siden af andre klassikere som Okakuru Kakuzos "Te-bogen" i Fru Maude Gudmes oversættelse fra 1925, og "Saturday Night, Sunday Morning", af Alan Silitoe. Typisk.
Avatar billede erikjacobsen Ekspert
09. august 2009 - 00:23 #63
"hvordan indstillingen på 8M overwrites af en anden fil. "  -  det er nok fordi suhosin er beregnet til at override PHPs almindelige indstillinger.
Avatar billede olebole Juniormester
09. august 2009 - 00:25 #64
Tak for points forøvrigt  ;o)
Avatar billede Slettet bruger
13. august 2009 - 21:32 #65
Det VAR Suhosin der lavede rav i det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester