Титла: Apache and large file support Публикувано от: RedIce в Jun 08, 2006, 17:52 Ползвам:
Slackware 10.2 kernel: 2.6.15.4 apache: 1.3.34 Доста се порових в гогъла,но решение не открих, проблемът е като кача фаилове по големи от 2GB на апачето и няма достъп до тях. дава следното съобщение:
a в error loga е следното положение:
Решение знам че има, понеже съм виждал фаилове от по 4ГБ на други сървари, въпросът е как? Титла: Apache and large file support Публикувано от: nothing в Jun 08, 2006, 18:10 Виж тук
Май имах същия проблем. Титла: Apache and large file support Публикувано от: RedIce в Jun 08, 2006, 18:47 а дали има вратички без прекомпилиране...
гледам отговора на темата, в линка който си пратил, и там ставаше дума нещо за процесори... ![]() какво общо има това с CPU-ро... понеже сърварчето ми е на една щайга с CELERON на 400 (испържен на 450) и работи близо 3 год нонстоп, като са правени чат пат някои ъпдеитчета.... не ме претиснява толкова самото прекомпилиране, колкото тези врътки сър процесорите, някак си не виждам логиката.... Титла: Apache and large file support Публикувано от: в Jun 09, 2006, 10:39 Ъъъм на 32 битови архитектури типа long е 32 бита=4 байта.
2^32= 4294967296. Очевидно програмистите държат големината на файла в променлива, която не е unsigned => 2^31= 2147483648 (което май указва точно 2 гигабайта) Ако не беше unsigned вероятно максималния размер на файла щеше да е 4ГБ. При 64 битови архитектури типа long е 64 бита=8 байта. 2^64=1.84е+19, на практика при сегашните обеми данни няма да имаш лимити ![]() Всъщност нещата стоят малко по-усложнено и едва ли някъде в сорс-а на апача има нещо от сорта на "long filesize", вероятно се ползва size_t, с който тип нещата са по-усложнени, но в основата си стоят по-същия начин. Та това е връзката с процесора ![]() Титла: Apache and large file support Публикувано от: Hapkoc в Jun 09, 2006, 10:50 Е не е ли обратно? Т.е. като е signed е 2GB, като е unsigned е 4?
Титла: Apache and large file support Публикувано от: в Jun 09, 2006, 11:13 Логическа грешка заради двойното отрицание
![]() unsigned - един бит повече signed - един бит указва знака (+/-) => възможните стойности са два пъти по-малко. size_t - пълна каша, по принцип е декларирано в sys/types.h, обаче там се include-ва bits/types.h, там доколкото знам с #ifdef в зависимост от архитектурата се include-ват разни хедъри от сорса на ядрото. Нещо интересно, което съм забелязал е че на 64-битови архитектури (поне моето АМД64) sizeof(int) дава че е 4 байта, както и на i386, a би трябвало да са 8. Това бих искал някой дето знае повече да ми го обясни? Титла: Apache and large file support Публикувано от: в Jun 09, 2006, 11:36 Тази тема нещо тръгва в друга посока ...
Първото ми попаднало обяснение за "large file support" , което обяснава защо са флаговете посочени във второто съобщение е : http://www.suse.de/~aj/linux_lfs.html |