Probleme mit Dateien über 2 GB

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

Postby glitzi85 » 30. September 2008 15:01

Nein! Hab grad kurz PHP mit Largefile-Support kompiliert auf 32bit Debian. Nachdem ich dein Script korrigiert hatte hat es wunderbar funktioniert.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby esfaueen » 01. October 2008 08:52

glitzi85 wrote:Nein! Hab grad kurz PHP mit Largefile-Support kompiliert auf 32bit Debian. Nachdem ich dein Script korrigiert hatte hat es wunderbar funktioniert.

mfg glitzi


hm, oke .... und wie hast du's kompiliert mit den CFLAGS .... ?

bei mir werden php Dateien nicht mehr erkannt und es werden nurnoch weisse Seiten ausgegeben ....
esfaueen
 
Posts: 22
Joined: 08. September 2008 15:22

Postby esfaueen » 01. October 2008 11:35

Hm, oke nachdem ich nun mit PHP 4.4.9 kompiliert habe, hat das ganze einigermassen funktioniert. Der Apache ist wieder erreichbar & Dateien unter 2 GB können heruntergeladen werden, bei Dateieen über 2 GB wird einfach das .php File heruntergeladen, mit keinem Inhalt. komisch ....
esfaueen
 
Posts: 22
Joined: 08. September 2008 15:22

Postby glitzi85 » 01. October 2008 12:03

Naja, genau so wie ich es beschrieben habe:

Code: Select all
root@ns1:~# tar xvfz php-5.2.6.tar.gz
root@ns1:~# cd php-5.2.6
root@ns1:~/php-5.2.6# export CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
root@ns1:~/php-5.2.6# ./configure --prefix=/opt/php --with-apxs2=/opt/apache/bin/apxs --with-imap-ssl --with-openssl --with-tidy --with-gettext --with-dom --with-mcrypt --with-iconv --enable-mbstring --enable-mbregex --with-mysql=/opt/mysql --with-config-file-path=/opt/apache/conf/ --enable-ftp --enable-sockets
root@ns1:~/php-5.2.6# make
root@ns1:~/php-5.2.6# /etc/init.d/httpd graceful-stop
root@ns1:~/php-5.2.6# make install
root@ns1:~/php-5.2.6# /etc/init.d/httpd start


mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby esfaueen » 01. October 2008 12:51

Hm, oke .... So habe ichs auch gemacht, nur funktionierts auf diese Art und Weise nicht. Dateien über 2 GB können noch immer nicht heruntergeladen werden.

Kann es auch am .php Script selbst liegen?

Vielen Dank schonmal
esfaueen
 
Posts: 22
Joined: 08. September 2008 15:22

Postby glitzi85 » 01. October 2008 13:06

Poste doch mal dein Script
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby esfaueen » 01. October 2008 13:14

Code: Select all
$filesize = exec ('stat -c %s '. escapeshellarg (/folder1/datei2.iso);

header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"datei2.iso\"");
header("Pragma: public");
header("Content-Length:".$filesize);
header("Content-Transfer-Encoding: binary");
header("Cache-Control: maxage=1");
   
readfile(/folder1/datei2.iso); 
esfaueen
 
Posts: 22
Joined: 08. September 2008 15:22

Postby glitzi85 » 01. October 2008 14:47

Naja, dass das nicht klappt ist schon klar, sollte ja aber eigentlich schon anhand der PHP-Fehlermeldungen klar sein:

Code: Select all
<?php
$filesize = exec('stat -c %s '.escapeshellarg('/folder1/datei2.iso'));
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"datei2.iso\"");
header("Pragma: public");
header("Content-Length:".$filesize);
header("Content-Transfer-Encoding: binary");
header("Cache-Control: maxage=1");
readfile('/folder1/datei2.iso');
?>


mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby esfaueen » 01. October 2008 15:06

glitzi85 wrote:Naja, dass das nicht klappt ist schon klar, sollte ja aber eigentlich schon anhand der PHP-Fehlermeldungen klar sein:

Code: Select all
<?php
$filesize = exec('stat -c %s '.escapeshellarg('/folder1/datei2.iso'));
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename="datei2.iso"");
header("Pragma: public");
header("Content-Length:".$filesize);
header("Content-Transfer-Encoding: binary");
header("Cache-Control: maxage=1");
readfile('/folder1/datei2.iso');
?>


mfg glitzi


PHP Fehlermeldungen werden keine Ausgegeben , und dieses Script funktioniert auchnicht , es werden immernoch keine Dateien grösser als 2 GB heruntergeladen ....
esfaueen
 
Posts: 22
Joined: 08. September 2008 15:22

Postby glitzi85 » 01. October 2008 16:59

Naja, in dem von mir geposteten Code sollte auch kein Fehler auftreten. Ansonsten empfiehlt sich zum testen immer am Anfang das hier zu packen:

Code: Select all
error_reporting(E_ALL);


Und was bedeutet sie werden nicht runtergeladen? Entweder kommt eine Fehlermeldung oder er bietet einen Download an.

Schau dir auch mal deine phpinfo-Ausgabe an, im Abschnitt Environment gibt es die Zeile CFLAGS, was steht da bei dir drin?

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby esfaueen » 03. October 2008 07:16

Hm, oke .... also bei CFLAGS steht folgendes drin:

"-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 "

... ja es wird halt eine Datei heruntergeladen, die etwa 290 Bytes gross ist und wenn ich dieses mit einem Editor öffne, so erscheint folgender Inhalt:


Code: Select all
<br />
<b>Warning</b>:  readfile(/folder1/datei2.iso) [<a href='function.readfile'>function.readfile</a>]: failed to open stream: File too large in <b>/opt/lampp/htdocs/xampp/download.php</b> on line <b>69</b><br />
esfaueen
 
Posts: 22
Joined: 08. September 2008 15:22

Postby glitzi85 » 03. October 2008 15:51

Hmm, jetzt bin ich mit meinem Latein auch langsam am Ende angelangt.

Welche glibc-Version hast du denn?

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby esfaueen » 06. October 2008 08:21

Hm, momentan ist folgende Version vorhanden:

glibc-2.4-31.54

Gruss
esfaueen
 
Posts: 22
Joined: 08. September 2008 15:22

Postby esfaueen » 08. October 2008 11:55

Hm, wenn ich den Server neu starte, so sind die CFLAGS nichtmehr gesetzt .... nach ausführen von " export CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"" und neustarten des Webservers sind die Flags aber wieder gesetzt ......

hat das vielleicht noch etwas zu bedeuten?

edit:

noch was ... wenn ich php folgendermassen kompiliere:

env PATH="/opt/lampp/bin:$PATH" CFLAGS="-O6 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/opt/lampp/include/libpng -I/opt/lampp/include/ncurses -I/opt/lampp/include -L/opt/lampp/lib" ./configure --prefix=/opt/lampp --with-apxs2=/opt/lampp/bin/apxs --with-config-file-path=/opt/lampp/etc --with-mysql=/opt/lampp --enable-inline-optimization --disable-debug --enable-bcmath --enable-calendar --enable-ctype --enable-dbase --enable-discard-path --enable-exif --enable-filepro --enable-force-cgi-redirect --enable-ftp --enable-gd-imgstrttf --enable-gd-native-ttf --with-ttf --enable-magic-quotes --enable-memory-limit --enable-shmop --enable-sigchild --enable-sysvsem --enable-sysvshm --enable-track-vars --enable-trans-sid --enable-wddx --enable-yp --with-ftp --with-gdbm=/opt/lampp --with-jpeg-dir=/opt/lampp --with-png-dir=/opt/lampp --with-tiff-dir=/opt/lampp --with-freetype-dir=/opt/lampp --without-xpm --with-zlib=yes --with-zlib-dir=/opt/lampp --with-openssl=/opt/lampp --with-expat-dir=/opt/lampp --enable-xslt --with-xslt-sablot=/opt/lampp --with-dom=/opt/lampp --with-ldap=/opt/lampp --with-ncurses=/opt/lampp --with-gd --with-imap-dir=/opt/lampp --with-imap-ssl --with-imap=/opt/lampp --with-gettext=/opt/lampp --with-mssql=/opt/lampp --with-mysql-sock=/opt/lampp/var/mysql/mysql.sock --with-mcrypt=/opt/lampp --with-mhash=/opt/lampp --enable-sockets --enable-mbstring=all --with-curl=/opt/lampp --enable-mbregex --enable-zend-multibyte --enable-exif --enable-pcntl --with-mime-magic --with-iconv && make && make install && /home/lampp/bin/php-version-cp

so erscheinen nurnoch weisse Seiten beim aufruf der php Datei .... Wenn ich aber PHP so kompiliere:

env PATH="/opt/lampp/bin:$PATH" CFLAGS="-O6 -I/opt/lampp/include/libpng -I/opt/lampp/include/ncurses -I/opt/lampp/include -L/opt/lampp/lib" ./configure --prefix=/opt/lampp --with-apxs2=/opt/lampp/bin/apxs --with-config-file-path=/opt/lampp/etc --with-mysql=/opt/lampp --enable-inline-optimization --disable-debug --enable-bcmath --enable-calendar --enable-ctype --enable-dbase --enable-discard-path --enable-exif --enable-filepro --enable-force-cgi-redirect --enable-ftp --enable-gd-imgstrttf --enable-gd-native-ttf --with-ttf --enable-magic-quotes --enable-memory-limit --enable-shmop --enable-sigchild --enable-sysvsem --enable-sysvshm --enable-track-vars --enable-trans-sid --enable-wddx --enable-yp --with-ftp --with-gdbm=/opt/lampp --with-jpeg-dir=/opt/lampp --with-png-dir=/opt/lampp --with-tiff-dir=/opt/lampp --with-freetype-dir=/opt/lampp --without-xpm --with-zlib=yes --with-zlib-dir=/opt/lampp --with-openssl=/opt/lampp --with-expat-dir=/opt/lampp --enable-xslt --with-xslt-sablot=/opt/lampp --with-dom=/opt/lampp --with-ldap=/opt/lampp --with-ncurses=/opt/lampp --with-gd --with-imap-dir=/opt/lampp --with-imap-ssl --with-imap=/opt/lampp --with-gettext=/opt/lampp --with-mssql=/opt/lampp --with-mysql-sock=/opt/lampp/var/mysql/mysql.sock --with-mcrypt=/opt/lampp --with-mhash=/opt/lampp --enable-sockets --enable-mbstring=all --with-curl=/opt/lampp --enable-mbregex --enable-zend-multibyte --enable-exif --enable-pcntl --with-mime-magic --with-iconv && make && make install && /home/lampp/bin/php-version-cp

so funktionieren immerhin die PHP Dateien wieder, sprich sie werden wieder dargestellt.

Gruss
esfaueen
 
Posts: 22
Joined: 08. September 2008 15:22

Postby esfaueen » 13. October 2008 08:31

Keine Ideen mehr? :(
esfaueen
 
Posts: 22
Joined: 08. September 2008 15:22

PreviousNext

Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 5 guests