Portál AbcLinuxu, 4. května 2025 12:36

Dotaz: Drupal 6 na openSuSE - ZIP soubory se stáhnou poškozené

15.3.2012 01:04 MadCatX
Drupal 6 na openSuSE - ZIP soubory se stáhnou poškozené
Přečteno: 209×
Odpovědět | Admin

Zdravím,

Před pár dny jsem migroval ostrou verzi websitu postaveném na Drupalu na upravenou "beta" verzi. Migrace proběhla až na jeden detail v pohodě, zjistil jsem totiž, že ZIP soubory uploadované jako privátní se stáhnou poškozené. Ark je zobrazí jako prázdné a unzip při pokusu o rozbalení vypíše "End-of-central-directory signature not found". Pokud nahraju nějaký ZIP přes FTP do veřejně přístupné složky na serveru a pokusím se ho stáhnout pomocí "adresa.cz/nekde/soubor.zip", stáhne se v pořádku, v konfiguraci Apache teey předpokládám problém nebude; problémů jsem si všiml jen u privátních souborů přenášených Drupalem. Website běží ve VPSce na openSuSE 12.1, Apache 2.2.21-3.6.1, Drupal 6.25, výčet modulů by byl dlouhý, pro urychlení ale používám modul Boost, gzip komprese v něm je ale vypnutá, od toho mám v Apache mod_deflate. Jakékoliv jiné soubory (RAR, DOC, PDF, ...) se stáhnou v pohodě.

Po pár hodinách googlení a zkoušení mi fakt došly nápady, hrál jsem si s modulem Boost , .htaccess i nastavením komprese v Apache (ZIP by komprimovat neměl), netušíte někdo, co za tohle může? Díky.

 
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

15.3.2012 02:07 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Drupal 6 na openSuSE - ZIP soubory se stáhnou poškozené
Odpovědět | | Sbalit | Link | Blokovat | Admin
V prvé řadě bych porovnal soubory byte po bytu. To znamená nějaký soubor náhrál, stáhnul a pak porovnal. Podle mne je problém v nějaké konverzi. Tak jakobych náhrál přes ftp jako ascii a stahoval binary.
15.3.2012 22:34 MadCatX
Rozbalit Rozbalit vše Re: Drupal 6 na openSuSE - ZIP soubory se stáhnou poškozené

Zkoušel jsem zachytit komunikaci při stahování a zjistil jsem, že pokud se soubor stahuje ze sites/default/files (výchozí veřejná složka), je MIME ZIP souboru application/octet-stream, pokud se však stahuje ze sites/default/files/private, MIME se změní na application/zip a posledních pár bytů v souboru nesedí. V prvním případě se soubor stáhne dobře, v případě druhém dojde k výše zmíněným problémům.

Pokud nahraju soubor natvrdo přes FTP, stahuje se též jako application/zip a je v pořádku, něco shnilého bude tedy nejspíš v Drupalím modulu Private uploads.

Pochybuju, že se z toho dá vyčíst něco navíc, nicméně pro jistotu přikládám logy z Wiresharku.
Download OK
Poškozený soubor

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.