Erlaubniss für copy()
Thomas
- php
0 Tom
hallo,
Ich habe auf meiner page ein upload script mit php erstellt, doch nun sagt es
Warning: copy(blabla.txt): failed to open stream: Permission denied in /home/www/****/html/files/dateien.php on line 24
wie kann ich diesen fehler beheben.
lg thomas
Hello,
Ich habe auf meiner page ein upload script mit php erstellt, doch nun sagt es
Warning: copy(blabla.txt): failed to open stream: Permission denied in /home/www/****/html/files/dateien.php on line 24
wie kann ich diesen fehler beheben.
Stelle als erstes fest, ob PHP im Safe-Mode läuft.
Dann sehen wir weiter :-)
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom

Hello,
Ich habe auf meiner page ein upload script mit php erstellt, doch nun sagt es
Warning: copy(blabla.txt): failed to open stream: Permission denied in /home/www/****/html/files/dateien.php on line 24
wie kann ich diesen fehler beheben.
Stelle als erstes fest, ob PHP im Safe-Mode läuft.
Dann sehen wir weiter :-)Harzliche Grüße vom Berg
http://www.annerschbarrich.deTom
hmmm. wie findet man das raus..?
lg
Moin!
Hello,
Ich habe auf meiner page ein upload script mit php erstellt, doch nun sagt es
Warning: copy(blabla.txt): failed to open stream: Permission denied in /home/www/****/html/files/dateien.php on line 24
wie kann ich diesen fehler beheben.
Stelle als erstes fest, ob PHP im Safe-Mode läuft.
Dann sehen wir weiter :-)Harzliche Grüße vom Berg
http://www.annerschbarrich.deTom
hmmm. wie findet man das raus..?
lg
Wenn du über PHP viel INFO wissen willst - welche Funktion könnte wohl gemeint sein?
PS: Wenn jeder das komplette Zitat aller Vorposter stehen lassen würde, würde man spätestens ab der dritten Antwort kaum noch was selber schreiben können, weil die Textmenge hier begrenzt ist. Also bitte kein TOFU machen!
- Sven Rautenberg
hallo..
oke klar...
ist das gemeint..??:
file_uploads On On
lg
Hello,
ist das gemeint..??:
file_uploads On On
Nein, es war gemeint, dass Du nach dem "Safe-Mode" schaust... :-)
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom

safe_mode Off On
safe_mode_exec_dir /home/www/empty/ no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
das ist es nun...??
was bedeutet das nun..?
Hello,
safe_mode Off On
safe_mode_exec_dir /home/www/empty/ no value
safe_mode_gid Off Off
safe_mode_include_dir no value no valuedas ist es nun...??
was bedeutet das nun..?
Jawoll, wie vermutet. Das wird es sein.
Nun müssen wir mal versuchen, zu rekapitulieren, wie Du Deine Scripte und Verzeichnisse auf den Server bekommen hast, wem sie gehören, und wie die Dateien (die Uploads) auf den Server gelangen...
Der Safe-Mode ist eine mMn zum Teil reperaturbedürftige Maßnahme von PHP, durch die versucht werden sollte, dass nur Berechtigte auf bestimmte Dateien zugreifen.
Als Berechtigte gelten:
- der Eigentümer der Datei, wenn der Eigentümer des zugreifenden Scriptes identisch ist
- Der Eigentümer des Verzeichnisses, in dem die Datei liegt, wenn der Eigentümer des
zugreifenden Scriptes identisch ist.
Wer ist der Eigentümer des Scriptes?
Wer ist der Eigentümer der hochgeladenen Datei?
Wer ist der Eigentümer des Verzeichnisses, in das die Datei kopiert werden soll?
Wenn wir diese Fragen geklärt haben, können wir einige Strategien zur Umgehung der Hindernisse entwerfen.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom

Oke, dann mal los.
Ich bin der Eigentümer des Scriptes, ich habe es selbst geschrieben und via FTP server auf meinen Server geladen. Dort soll es die Daten von einem Computer auf den Server laden und dauerhaft speichern.(Mit der Funktion copy()). Ich denke ich muss irgendwo im Script die FTP-Daten eingeben, damit die Daten auf den Server galaden werden.
LG
Hello,
Ich bin der Eigentümer des Scriptes, ich habe es selbst geschrieben und via FTP server auf meinen Server geladen. Dort soll es die Daten von einem Computer auf den Server laden und dauerhaft speichern.(Mit der Funktion copy()). Ich denke ich muss irgendwo im Script die FTP-Daten eingeben, damit die Daten auf den Server galaden werden.
Ok:
(wwwrun steht für den Apachen)
Verzeichnis/Datei Eigentümer warum
Webspace und Document Root Thomas Provider hat es so eingerichtet
Scripte im Document Root Thomas Weil der FTP so eingerichtet ist
Verzeichnis, in das wwwrun Weil es der Apache erzeugt hat
das Bild soll
Hochgeladenen Datei wwwrun Weil es so bestimmt ist
Nun versucht also ein Script, das Thomas gehört, eine Datei zu bewegen, die wwwrun gehört und zwar in ein Verzeichnis, das ebenfalls wwwrun gehört. Leider passt der Eigentümer des Scriptes nicht zu Quelle und Ziel.
Wenn Du nun mal, nur zur Probe, ein eigenes Upload-Script erzeugst, indem Du ein Script schreibst, in dem
copy altes_uploadscript.php neues_uploadscript.php
und dann in deinem Upload-Formular das neue Upload-Script benutzt, dann müsste es funktionieren.
Denn nach dem Copy gehört das neue Uplaoadscript nicht m,ehr Dir, sondern dem wwwrun.
Alternativ kannst Du das Verzeichnis, in das die Bilder kopiert werden sollen, mittels FTP erzeugen. Dann gehört es Dir. Damit darf das alte Uploadscript, das ebenfalls Dir gehört, in dem Verzeichnis Schreiben.
Probier es mal aus und teil uns die Ergebnisse mit.
Mehr darüber findest Du unter http://selfhtml.bitworks.de --> wie funktioniert der Safe-Mode
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom

Oke, ich habe nun ein Script gemacht das funktioniert, der Hauptfehler lag daran, dass ich im FTP-Programm den Ordner wo die Files raufgeladen werden, in Eigenschaften auf Schreieben setzten musste. Ich habe das Script nun auch mit move_uploaded_file gemacht, Danke für eure Hilfe.
Lg Thomas
Hallo Tom,
Der Safe-Mode ist eine mMn zum Teil reperaturbedürftige Maßnahme von PHP, durch die versucht werden sollte, dass nur Berechtigte auf bestimmte Dateien zugreifen.
Der fliegt zum Glück in PHP 6 raus. Man will sich stattdessen auf open_basedir konzentrieren, was ich für wesentlich sinnvoller halte.
Gruß
Patrick
Hello,
Der Safe-Mode ist eine mMn zum Teil reperaturbedürftige Maßnahme von PHP, durch die versucht werden sollte, dass nur Berechtigte auf bestimmte Dateien zugreifen.
Der fliegt zum Glück in PHP 6 raus. Man will sich stattdessen auf open_basedir konzentrieren, was ich für wesentlich sinnvoller halte.
Ja, was den Zugriff auf das Dateisystem betrifft, finde ich das auch.
Aber was das gemeinsame Ausschalten der anderen kritischen Elemente betrifft, ist er eben doch ganz praktisch.
Das muss man dann wohl in Zukunft alles einzeln ausschalten?
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom

echo $begrüßung;
safe_mode Off On
Das heißt, global ist der Safe Mode zwar eingeschaltet, aber lokal ausgeschaltet. Wie passt das zusammen? In der php.ini gesetzt oder fest einkompiliert und dann in der http.conf wieder ausgeschaltet? Denn das sind die beiden Orte, an denen die php.ini directive safe_mode berücksichtigt wird.
Was mich ebenfalls noch am eingeschalteten Safe-Mode zweifeln läst, ist, dass die Fehlermeldung ihn nicht erwähnt hat. Sonst schreibt sie da immer noch ein "SAFE MODE Restriction in effect. The script whose uid is ... is not allowed to access ..."
Und was mich noch stört, ist das copy() bei hochgeladenen Dateien. Zum Verschieben von hochgeladenen Dateien soll man move_uploaded_file() verwenden.
echo "$verabschiedung $name";
Hello,
local global
safe_mode Off On
Du hast Recht. Erst der local, dann der globale Wert...
Dann könnte es eigentlich nur noch sein, dass er versucht, die Datei außerhalb seines "Webcontainers" abzulegen. Es ist uns schließlich unterschlagen worden, was Quelle und was Ziel waren...
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
