XAMPP - phpMyAdmin-Fehler!

R

RLX-Devlin

unregistriert
Thread Starter
Dabei seit
25.09.2006
Beiträge
723
Reaktionspunkte
6
Hey Leute,

Ich versuche mithilfe vom XAMPP eine wordpress.org-Installation offline hinzubekommen. Leider bekomme ich, wenn ich eine neue Datenbank in phpMyAdmin anlegen will, die folgende Fehlermeldung:

Warning: session_write_close() [function.session-write-close]: open(/tmp/sess_8dc9fd14e7f750bfa93a8af8732c7c5fbcd64c8e, O_RDWR) failed: Permission denied (13) in /Applications/xampp/xamppfiles/phpmyadmin/index.php on line 42

Warning: session_write_close() [function.session-write-close]: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in /Applications/xampp/xamppfiles/phpmyadmin/index.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /Applications/xampp/xamppfiles/phpmyadmin/index.php:42) in /Applications/xampp/xamppfiles/phpmyadmin/index.php on line 99

Da ich absoluter Laie bin in puncto Datenbanken, Websprachen, usw. ist das alles spanisch für mich. :(

Steigt einer durch?

mfg, Laurent
 
ja und nein!

Das ist kein DB-Problem das ist ein PHP-Problem (Headers already sent). Da versucht irgendwas / irgendwer bei phpmyadmin einen anderen Header als text/html zu senden. Das klappt aber nicht - vermutlich weil die Datei:

/Applications/xampp/xamppfiles/phpmyadmin/index.php on line 99

Leerzeichen / -zeilen am Ende hat!? Ich kenne mich mit XAMPP nicht aus, der Fehler müßte/sollte/dürfte dort aber bekannt sein!

* ich verschiebe mal zu den WebApps, mit DBs hat das hier primär nichts zu tun!*
 
Hä?

Code:
Warning: session_write_close() [function.session-write-close]: open(/tmp/sess_8dc9fd14e7f750bfa93a8af8732c7c5fbcd 64c8e, O_RDWR) failed: Permission denied (13) in /Applications/xampp/xamppfiles/phpmyadmin/index.php on line 42
Keine Berechtigung zum schrieben in "/tmp/...". Ergo dem Verzeichnis Schreibrechte geben, dann ist diese Fehlermeldung weg.

Code:
Warning: session_write_close() [function.session-write-close]: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in /Applications/xampp/xamppfiles/phpmyadmin/index.php on line 42
Hmm konnte das Schreiben nicht beenden, weil das Schreiben gar nicht erst begonnen werden konnte (siehe erste Fehlermeldung).

Code:
Warning: Cannot modify header information - headers already sent by (output started at /Applications/xampp/xamppfiles/phpmyadmin/index.php:42) in /Applications/xampp/xamppfiles/phpmyadmin/index.php on line 99
Header kann nicht geändert werden, weil der Header nur geändert werden kann, wenn noch keine Einzige Ausgabe gemacht wurde. Da aber die beiden Fehlermeldungen oben schon ausgegeben wurden, klappt das hier nicht mehr.

Wie man also schon erkennt, bauen die beiden letzten Fehlermeldungen auf der ersten auf. Daher einfach dem tmp-Verzeichnis z.B. 777 als Berechtigung geben und dann sollten die beiden anderen Fehlermeldungen verschwinden. Das tmp-Verzeichnis scheint ein Verzeichnis zu sein, wo phpMyAdmin seine Sessions ablegt. Man kann natürlich phpMyAdmin auch anders konfigurieren.
 
Hmm, erstmal Danke für die Antwort. Wie mache ich das denn? Wie gesagt, ich bin absoluter Laie. :/
 
für nen Test auf dem eigenen Rechner?

Gib einfach dem tmp-Ordner Schreibrechte für Alle ( über Apfel+I),
auf Produktivsystemen muß der Ordner für den User der den Webserver betreibt ( die heissen meist www oder wwwrun) beschreibbar sein.
 
huhu,

RLX-Devlin: welches OS X hast du? (10.4/10.5) und welches XAMPP benutzt du? (0.7.4 wäre aktuell)

Normalerweise sollte /tmp (bzw. ist es ja eigentlich /private/tmp) für alle schreibbar/lesbar sein. Habe gerade auf meinem Leopard nachgeschaut da ist das definitiv der Fall.

@master_p: Sehr schön erklärt! ;) Allerdings speichert phpmyadmin seine sessions nicht selbst sonder läst das php machen (session_write_close ist eine Funktion von php selbst). Demnach muss man es in php einstellen und nicht in phpmyadmin.

wegus schrieb:
Ich kenne mich mit XAMPP nicht aus, der Fehler müßte/sollte/dürfte dort aber bekannt sein!

Sorry wegus, aber von so etwas sollte man nicht ausgehen.

In der Tat gab es so ein ähnliches Problem schonmal (bei der Leopard einführung) dieses wurde aber behoben.

Und dieses Problem ist mir nicht bekannt. (Ich bin der Entwickler der Mac Version von XAMPP) Und im ApacheFourm (= dem Fourm für XAMPP ;)) sind mir solche Klagen auch nicht aufgefallen.

(Btw: der XAMPP Apache läuft als nobody)

Grüße,
kleinweby
 
Vielen Dank für eure Mühe, aber nachdem ich es wiederum nicht hinbekommen habe, habe ich per Google eine für mich einfachere Methode gefunden wordpress.org offline zu testen. Anstatt von Xampp nutze ich nun Mamp, was meiner Meinung nach sehr viel einfacher zu bedienen ist.
 
Hallo,

ich bin ganz neu in Sachen MAC
ich habe seit neusten einen I MAC, also Windows war ja schon schrecklich aber MAC OS X und seine Ordner Struktur bzw. Pfadangabe ist ja mal grauenvoll.

ich versuche jetzt schon seit ca. 5 Stunden herauszubekommen wo XAMPP den seinen TMP ordner hat.

also in meiner php.ini
Macintosh HD/programme/etc/php.ini
befindet habe ich die Zeile
;upload_tmp_dir ...
in
upload_tmp_dir /tmp
umbenant

jetzt ist die rede davon das es einen Privat Ordner gibt in den ich die Datei finden kann. doch ich kann den zum fer.. nicht finden auf meinem MAC Rechner :-(
also das mit dem Pfaden habe ich nicht verstanden und werde das glaube ich auch nie. :-((((

kann mir jemand sagen wo ich den Ordner den Finde,

denn ich habe das Gleiche Problem wie oben Beschrieben,
ich komme von einem WIN XP Rechner auf dem alle geklappt hat und auf einmal tut der Daten uploade nicht mehr :-(

bitte helft mir, da durchzusteigen bevor ich wider auf win umsteigen muss da ich nicht weiter komme.
 
In Deiner php.ini steht doch, wo er es hinläd.
Das Problem ist, das der Ordner /tmp im Finder nicht zu sehen ist, da es eine Art Systemordner ist.

Öffne mal das Programm Terminal.
Das findest Du unter Programma->Dienstprogramme->Terminal und lass Dir mal den Inhalt von /tmp ausgeben, indem Du
eingibst.

Imho liegt das Problem aber weder an der "grauenvolle Ordnerstruktur" von OS X, noch der "schreckliche Struktur" von Windows.
Das sieht mir wie ein OSI Layer 8 Problem aus.
 
Muecke.1982 schrieb:
ich versuche jetzt schon seit ca. 5 Stunden herauszubekommen wo XAMPP den seinen TMP ordner hat.

Da kollidieren zwei Sachen! Zum einen ist das Dateisystem eines UNIX in seiner Struktur nicht sofort zu verstehen. Da muß man sich schon ein bißchen eingewöhnen und das dauert in der Tat!

Zum anderen hat der Finder von OS X die unangenehme Eigenart dem User viele dieser Ordner erst gar nicht anzuzeigen um die lieben User nicht zu verwirren. Wie man heir sieht kann genau das eben wieder zu Verwirrung führen. Du kannst trotzdem auch mit dem Finder zu jedem Ordner kommen. Drück einfach

CMD+SHIFT+G


und gibt im dann aufspringenden Dialog /tmp als Pfad ein und schon öffnet der Finder ein Fenster zu diesem Pfad :)



EDIT:
auch wenn es bei OS X ein bißchen anders ist, hier die Übersicht wie es unter UNIX üblicherweise auszusehen hat in einem Filesystem:

http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
 
Zuletzt bearbeitet von einem Moderator:
Hi,

das habe ich gemacht,
ich Bekomme folgendes dann im Terminal angezeigt:

Last login: Wed Feb 25 10:11:39 on ttys000
gehm-imac:~ Gehm$ ls -al /tmp/
total 8
drwxrwxrwt 8 root wheel 272 25 Feb 10:13 .
drwxr-xr-x@ 6 root wheel 204 20 Feb 17:42 ..
srwxrwxrwx 1 Gehm wheel 0 25 Feb 09:54 com.hp.launchport
drwx------ 3 Gehm wheel 102 25 Feb 09:54 launch-9vEeLS
drwx------ 3 Gehm wheel 102 25 Feb 09:54 launch-KMC2ay
drwx------ 3 Gehm wheel 102 25 Feb 09:54 launch-otRMYF
drwx------ 3 Gehm wheel 102 25 Feb 09:54 launchd-110.JILLL0
-rw-r--r-- 1 Gehm wheel 25 25 Feb 10:12 xamppoutput.txt
gehm-imac:~ Gehm$

Doch das sagt mir persönlich jetzt nichts. :-(

ich finde die Ordner Verwaltung grauenvoll da man nichts im Überblick hat, finde ich.
Wenn man sich die WIN.. Macher anschaut bzw. DOS da war das super eine schöne Baum Struktur die man gut nachvollziehen kann, die Link Angabe für andere war Sehr einfach in dem Man die Platten mit Buchstaben benannt hat, wie nennt man denn die Platten beim OS x ?
dann kommt die Verwaltung von Programmen, wer bzw. wo werden die Programm denn alle verwaltet, Wo installiert Sie sich überall, welche Stelle im OSX prüft das und Dokumentiert das ?


ok, jetzt aber wieder zurück zu den problem:



ich habe in php ein Formular das es mir erlaubt eine Datei hochzuladen da ich diese dann in eine SQL Datenbank Speichern möchte,

doch leider schaffe ich das nicht unter OS X da ich dei Pfade nicht kenne vermute ich.

kommischerweise bekomme ich keine Fehlermeldung, doch ich finde aber auch meine Datei nicht mehr :-(
mal mein Code eventuell kann mir jemand Helfen.

PHP:
<?

if ($_POST['Action']=="Start" and substr($_FILES['csv_datei']['name'],-3)=="csv")
   {
     echo "<p>";
     echo "prüffe auf csv Ändung ..... OK<br>";

 move_uploaded_file ( $_FILES['csv_datei']['name'], '../tmp/Hallo.csv' );
     echo "</p>";


   }

else
   {
?>

<div class="text"> .....
</div>

<table border="0" align="center">
 <td>
   <form enctype="multipart/form-data" method="post" name="formular_csv_einlessen">
     <INPUT type="hidden" NAME="Page"      value="<? echo $_GET["Page"];?>">
     <INPUT type="hidden" NAME="Action"    value="Start">
     <INPUT TYPE="file"   NAME="csv_datei">
     <input type="submit" value="Eintragen">
   </form>
 </td>
</table>
<? } ?>

naja ich verzweifle an dem mac gerade echt denn anscheinend Speichert er die Datei aber ich habe keine ahnung wohin :-(

Das Teil solte nacher auf WIn Servern wie MAC Servern laufen. Ohne das man erst groß was rum Basteln muss.
 
Muecke.1982 schrieb:
ich finde die Ordner Verwaltung grauenvoll da man nichts im Überblick hat, finde ich.

das übt sich mit der Zeit, ist aber in der Tat ein Umlernprozeß

Muecke.1982 schrieb:
Wenn man sich die WIN.. Macher anschaut bzw. DOS da war das super eine schöne Baum Struktur die man gut nachvollziehen kann,

Das ist eigentlich eine Geschichte die UNIX schon weit vor Windows besser konnte. Da die Struktur aber komplexer ist dauert es halt ein bißchen das zu verstehen ( siehe meine Links oben)

Muecke.1982 schrieb:
die Link Angabe für andere war Sehr einfach in dem Man die Platten mit Buchstaben benannt hat, wie nennt man denn die Platten beim OS x ?

Das war eine ganz schlechte Idee von MS mit den Biuchstaben! OS X verwendet schlicht Namen. Das zwei Platten "C:" oder "D:" heissen ist somit fast ausgeschlossen!

dann kommt die Verwaltung von Programmen, wer bzw. wo werden die Programm denn alle verwaltet, Wo installiert Sie sich überall, welche Stelle im OSX prüft das und Dokumentiert das ?

spätestens hier wird es Zeit mal das OS X-Unterforum zu studieren und dort ein bißchen zu fragen! Das wird hier dann zu sehr OT!

Das Teil solte nacher auf WIn Servern wie MAC Servern laufen. Ohne das man erst groß was rum Basteln muss.

Nunja das Upload-Limit und Verzeichnis stehen ja bei beiden OSen in der php.ini. Bei beiden brauchst Du nat. entsprechende Schreibrechte in den Zielverzeichnissen. Dann ist das schon portabel solange Du in Deinem Projekt bei relativen Pfadangaben bleibst.
 
Zuletzt bearbeitet von einem Moderator:
Hallo wegus,

erst mal Danke. für die Antworten.
ich glaube auch das das mit der Zeit kommt, die Gewöhnung. doch es kann einen schon an sich selber zweifeln lassen ob man noch normal im Kopf ist wenn nichts klappt. ;-)

ich habe ja mal mein Script gepostet, und ja ich verwende einen relativen Pfad namen meines Wissens nach.

aufbau meiner Webseite.

Macintosh HD / Programme / xampp / htdocs / address / index.php

von der index Datei wird alles ausgeführt, sie includet alle anderen Seiten.
somit habe ich als Hauptverzeichnis ja das address oder nicht ?

wenn ich jetzt also eine Datei via php und Formular in den Temp Ordner befördere
Code:
<div class="text"> .....
</div>

<table border="0" align="center">
 <td>
   <form enctype="multipart/form-data" method="post" name="formular_csv_einlessen">
     <INPUT type="hidden" NAME="Page"      value="<? echo $_GET["Page"];?>">
     <INPUT type="hidden" NAME="Action"    value="Start">
     <INPUT TYPE="file"   NAME="csv_datei">
     <input type="submit" value="Eintragen">
   </form>
 </td>
</table>

und es dann versuce in den Ordner test auf dem Webserver(localhost) zu speichern müsste das doch so gehen oder nicht ?
PHP:
<?

if ($_POST['Action']=="Start" and substr($_FILES['csv_datei']['name'],-3)=="csv")
   {
     echo "<p>";
     echo "prüffe auf csv Ändung ..... OK<br>";

 move_uploaded_file ( $_FILES['csv_datei']['name'], 'test/Hallo.csv' );
     echo "</p>";


   }

else
   {
?> hier ist der HTML Code normalerweise. 

<? } ?>

doch leider bekomme ich keine Fehlermeldung. :-(
und kann die Hallo.csv auch nicht finden :-(

was mache ich also Falsch ?

in meiner PHP.ini habe ich folgendes Stehen.
file_uploads On
uploads_max_filesize 2M
uploads_tmp_dir /tmp


also was mache ich also falsch ? in meinem Scrip das es unter WIN geht und MAC nicht ?

sorry das ich es nicht verstehe aber ich komme einfach nicht dahinter.

ps. habe mir den link mal in Deutsch gesucht :)
http://de.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
und ausgedruckt bin gerade dabei Ihn zu lesen :)
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben Unten