Archivlink: javarea.de Forum > PHP, MySQL & CGI > phpMyAdmin Dateiimport
Vollständigen Link anzeigen: javarea.de Forum > PHP, MySQL & CGI > phpMyAdmin Dateiimport

Pages: [1]

geschrieben von mosi am 13.06.2007 - 20:31
In der Hoffnung, das richtige Forum für meine Frage getroffen zu haben...

Ich fahre seit kurzem meinen "localserver" unter (arch) linux. läuft auch alles so weit ganz fein, nur der import von dateien in phpMyAdmin funktioniert nicht. Ich bekomme folgende Meldung:

Zitat
 Es wurden keinen Daten zum importieren empfangen. Entweder wurde keine Datei ausgewählt, oder die Dateigröße hat die maximal erlaubte Größe der PHP Konfiguration überschritten. Siehe FAQ 1.16.


Natürlich habe ich eine Datei ausgewählt... die Dateien sind dabei schon in 500 kb - 1,5 mb cluster zerstückelt... in der php.ini ist file upload aktiviert, zur verfügung gestellter speicher auf 32 mb, post kapazität bei 16 mb und upload kapazität bei 8 mb...

Die Google Ergebnisse sind auch alle sehr mager und helfen mir bisher nicht. falls jemand eine idee hat, bin ich sehr dankbar. vielleicht seh ich auch nur den wald vor bäumen nicht mehr. erstmal nen bier konsumieren, um diese option auszuschließen ;)

geschrieben von René am 14.06.2007 - 07:37
Hallo mosi,

was hast du in der php.ini an den drei Stellen:

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = D:/loadtmp

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M


zu stehen? Poste mal das gleiche aus deiner php.ini in deinem nächsten Beitrag.

geschrieben von mosi am 14.06.2007 - 11:01
PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 

<?
Whether to allow HTTP file uploads
file_uploads 
On

Temporary directory for HTTP uploaded files (will use system default if not 
specified).
;
upload_tmp_dir 

Maximum allowed size for uploaded files.
upload_max_filesize 8M
?>




Ich bin halt windows verwöhnt, da gings soweit immer :\
Falls ich zwangsläufig nen upload_tmp_dir setzen muss, was empfiehlt sich unter linux?

mosi

geschrieben von Matneu am 14.06.2007 - 13:22
Das hängt von Deiner Konfiguration ab, /tmp wäre z. B. möglich, genau wie ~/tmp etc. Die Hauptsache ist, dass Dein Apache-User (apache, wwwdata oder so) Zugriff auf das Verzeichnis hat, lesend wie schreibend. Eventuell kannst Du die Angabe in der php.ini auch leer lassen, dann wird das Standard-Temp-Verzeichnis genutzt. Auch hier solltest Du wieder die Zugriffsrechte prüfen.

So far...
Matthias

geschrieben von mosi am 14.06.2007 - 14:29
mahlzeit ;)

also, ich bin etwas weiter. ich hab jetzt als temporäres verzeichnes spaßeshalber /tmp angegeben. dieses hat laut ls -l die rechte drwxrwxrwt... nach meinem laienhaften linux verständnis müsste das doch ausreichend sein?
laut httpd.conf nutzt apache die gruppe und den gleichnamigen user "nobody". ist auch in der passwd eingetragen...

wenn ich nun versuche eine datei hochzuladen kommt
Zitat
 Die Datei konnte nicht gelesen werden


zugegebener maßen findet sich dazu einiges unter googel, aber ich muss gleich in die uni und konnte nur einen kleinen teil lesen... den rest mach ich denn erm... in der veranstaltung.

kann es sein, dass das upload verzeichnis in der docroot umgebung des apachen sein muss? oder kann das auch außerhalb sein? /tmp wäre es in diesem fall nämlich nich.

mosi

geschrieben von Matneu am 14.06.2007 - 15:54
Zitat
 Original geschrieben von mosi am 14.06.2007 - 14:29
kann es sein, dass das upload verzeichnis in der docroot umgebung des apachen sein muss? oder kann das auch außerhalb sein? /tmp wäre es in diesem fall nämlich nich.

Nö. Das wäre u. U. sogar eine potentielle Sicherheitslücke. Stell' Dir mal vor, alles, was hochgeladen wird ist automatisch von anderen Nutzern abrufbar. *schüttel*

Beim Upload liefert PHP doch eine genaue Fehlermeldung, sofern denn ein Fehler auftritt. Ausserdem kannst Du mal schauen, ob die Datei in /tmp überhaupt angelegt wird.

So far...
Matthias

geschrieben von mosi am 14.06.2007 - 16:08
in /tmp liegen 2 dateien mit folgendem namen:
sess_6EFblablabla

die Session-Dateien? hab ma reingeguckt, sind diverse sql befehle usw drinn...

Leider wird außer der oben genannten meldung durch phpMyAdmin nichts weiter ausgegeben. auch keine php-fehlermeldungen, die werden wohl durch phpMyAdmin abgefangen.

EDIT:
ich stelle grad ma fest, dass mir hier fundamentales wissen fehlt, ich bin durch windows total verblödet -.- ich hab auf dem rechner kein ftp server eingerichtet, ging ja bisher auch immer so, nur als anmerkung.

EDIT 2:
PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 

UPLOAD TEST
<br><br>

<?php
echo $_FILES['file']['tmp_name'];

?>

<form action="?p=666" method="post" enctype="multipart/form-data">
  <input type="file" size="30" name="file"><br>
  <input type="submit" name="upload" value="absenden">
</form>

<br><br><br>



liefert die ausgabe
Zitat
 /tmp/phpicl4N4

in /tmp sehe ich allerdings keine datei mit entsprechender bezeichnung. ich bin verwirrt

geschrieben von Matneu am 14.06.2007 - 16:52
Zitat
 Original geschrieben von mosi am 14.06.2007 - 16:08
liefert die ausgabe
Zitat
 /tmp/phpicl4N4

in /tmp sehe ich allerdings keine datei mit entsprechender bezeichnung. ich bin verwirrt

Die Datei steht auch nur während der Ausführung des Skripts zur Verfügung, danach wird sie automatisch von PHP gelöscht. Du kannst die Datei im Skript selbst an einen anderen Ort kopieren, dann sollte die Datei dort bleiben.

So far...
Matthias

geschrieben von Danny am 14.06.2007 - 17:05
Hast du laut FAQ von PhpMyAdmin auch die anderen Werte überprüft?

Zitat
 The first things to check (or ask your host provider to check) are the values of upload_max_filesize, memory_limit and post_max_size in the php.ini configuration file. All of these three settings limit the maximum size of data that can be submitted and handled by PHP. One user also said that post_max_size and memory_limit need to be larger than upload_max_filesize.


Was hast du bei memory_limit und post_max_size für Angaben?

Bye
Danny

geschrieben von mosi am 14.06.2007 - 17:35
Zitat
 Original geschrieben von Matneu am 14.06.2007 - 16:52
Die Datei steht auch nur während der Ausführung des Skripts zur Verfügung, danach wird sie automatisch von PHP gelöscht. Du kannst die Datei im Skript selbst an einen anderen Ort kopieren, dann sollte die Datei dort bleiben.

ok, das leuchtet mir ein. ich hatte das jetzt auch nur so als test gemacht, ob es so weit überhaupt geht, da ja phpmyadmin sehr sparsam is, was seine ausgabe angibt. es geht mir ja auch nicht darum auf meinem localen rechner großartig files durch die gegend zu schieben, sowas teste ich eh immer direkt am zielserver. aber diese importfunktion brauche ich schon. irgendwas muss ich übersehen *grübel*

Zitat
 Original geschrieben von Danny am 14.06.2007 - 17:05

Hast du laut FAQ von PhpMyAdmin auch die anderen Werte überprüft?

Zitat
 The first things to check (or ask your host provider to check) are the values of upload_max_filesize, memory_limit and post_max_size in the php.ini configuration file. All of these three settings limit the maximum size of data that can be submitted and handled by PHP. One user also said that post_max_size and memory_limit need to be larger than upload_max_filesize.


Was hast du bei memory_limit und post_max_size für Angaben?

Bye
Danny


jo, siehe meinen ersten post. Hier nochmal konkret:
upload_max_filesize = 8M
memory_limit = 32M
post_max_size = 16M

geschrieben von Matneu am 14.06.2007 - 17:41
Dann versuch doch einfach mal, eine einzige SQL-Zeile in eine Datei zu schreiben und diese Datei hochzuladen.
Ausserdem könnte ich mir vorstellen, dass die Daten bei der Übertragung kodiert werden, so dass die Dateigrösse bei der Übertragung bzw. Verarbeitung nicht mit der Dateigrösse der Datei im eigenen Dateisystem übereinstimmt.

So far...
Matthias

geschrieben von mosi am 14.06.2007 - 18:14
sagt mir leider wieder, dass die datei nicht gelesen werden konnte -.- ich werd bekloppt

EDIT: wenn ich hingegen eine zu große datei hochlade, gibt er mir die meldung aus, ... eben, dass diese datei zu groß ist. das gibts doch nicht, wieso nimmt er die dateien nicht o.O

EDIT 2: ich habe meine dateien jetzt direkt über konsole eingespielt
Zitat
 mysql -u USER -p DATENBANK < DATEI(PFAD)


das erfüllt erstma den zweck


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.