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
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
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 |
|