Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #4370 > unrolled thread
| Started by | Jan Novak <repcom@gmail.com> |
|---|---|
| First post | 2018-05-08 09:24 +0200 |
| Last post | 2018-06-14 23:33 +0200 |
| Articles | 14 — 7 participants |
Back to article view | Back to de.comp.lang.php
File Upload mit systemd private temp Jan Novak <repcom@gmail.com> - 2018-05-08 09:24 +0200
Re: File Upload mit systemd private temp "Christoph M. Becker" <cmbecker69@arcor.de> - 2018-05-08 12:21 +0200
GELÖST: File Upload mit systemd private temp Jan Novak <repcom@gmail.com> - 2018-05-08 12:45 +0200
Re: GELÖST: File Upload mit systemd private temp "Christoph M. Becker" <cmbecker69@arcor.de> - 2018-05-08 13:05 +0200
Re: GELÖST: File Upload mit systemd private temp "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2018-05-10 10:19 +0200
Re: GELÖST: File Upload mit systemd private temp Jan Novak <repcom@gmail.com> - 2018-05-10 10:46 +0200
Re: GELÖST: File Upload mit systemd private temp Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-05-19 20:22 +0200
Re: GELÖST: File Upload mit systemd private temp Arno Welzel <usenet@arnowelzel.de> - 2018-05-23 22:01 +0200
Re: GELÖST: File Upload mit systemd private temp Markus Grob <snoopy@ilnet.ch> - 2018-06-11 17:54 +0200
Re: GELÖST: File Upload mit systemd private temp Claus Reibenstein <4spamersonly@kabelmail.de> - 2018-06-11 19:16 +0200
Re: GELÖST: File Upload mit systemd private temp "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2018-06-11 19:35 +0200
Re: GELÖST: File Upload mit systemd private temp Claus Reibenstein <4spamersonly@kabelmail.de> - 2018-06-11 20:23 +0200
Re: GELÖST: File Upload mit systemd private temp Arno Welzel <usenet@arnowelzel.de> - 2018-06-14 02:40 +0200
Re: GELÖST: File Upload mit systemd private temp Markus Grob <snoopy@ilnet.ch> - 2018-06-14 23:33 +0200
| From | Jan Novak <repcom@gmail.com> |
|---|---|
| Date | 2018-05-08 09:24 +0200 |
| Subject | File Upload mit systemd private temp |
| Message-ID | <pcrjbu$nue$1@news.albasani.net> |
Hallo, ich baue gerade an einer upload Funktion. System ist ein 9.2 Debian. File Uploads landen in /tmp/systemd-private-1b5621511e5e4505814fd887261174e7-apache2.service-iNOxtK/tmp Leider zeigt der aber $_FILES["tmp_name"] auf /tmp/phpwPsrev wo das File nicht liegt. Wie komme ich an mein File im temp systemd Verzeichnis? Jan
[toc] | [next] | [standalone]
| From | "Christoph M. Becker" <cmbecker69@arcor.de> |
|---|---|
| Date | 2018-05-08 12:21 +0200 |
| Message-ID | <pcrtn2$peu$1@solani.org> |
| In reply to | #4370 |
On 08.05.2018 at 09:24, Jan Novak wrote: > ich baue gerade an einer upload Funktion. System ist ein 9.2 Debian. > > File Uploads landen in > /tmp/systemd-private-1b5621511e5e4505814fd887261174e7-apache2.service-iNOxtK/tmp > > Leider zeigt der aber > $_FILES["tmp_name"] auf /tmp/phpwPsrev > > wo das File nicht liegt. > Wie komme ich an mein File im temp systemd Verzeichnis? Grundsätzlich sollte man auf gerade hoch geladene Dateien nicht direkt zugreifen, sondern immer nur per move_uploaded_file()[1] (oder is_uploaded_file()). Im PHP-Handbuch wird auch ein move_uploaded_file() Beispiel gezeigt. Wenn das bei dir nicht funktioniert, dann schau mal nach upload_tmp_dir[2]. [1] <http://www.php.net/manual/de/function.move-uploaded-file.php> [2] <http://www.php.net/manual/de/ini.core.php#ini.upload-tmp-dir> -- Christoph M. Becker
[toc] | [prev] | [next] | [standalone]
| From | Jan Novak <repcom@gmail.com> |
|---|---|
| Date | 2018-05-08 12:45 +0200 |
| Subject | GELÖST: File Upload mit systemd private temp |
| Message-ID | <pcrv53$28p$1@news.albasani.net> |
| In reply to | #4371 |
Hallo,
Am 08.05.18 um 12:21 schrieb Christoph M. Becker:
> On 08.05.2018 at 09:24, Jan Novak wrote:
>
>> ich baue gerade an einer upload Funktion. System ist ein 9.2 Debian.
>>
>> File Uploads landen in
>> /tmp/systemd-private-1b5621511e5e4505814fd887261174e7-apache2.service-iNOxtK/tmp
>>
>> Leider zeigt der aber
>> $_FILES["tmp_name"] auf /tmp/phpwPsrev
>>
>> wo das File nicht liegt.
>> Wie komme ich an mein File im temp systemd Verzeichnis?
>
> Grundsätzlich sollte man auf gerade hoch geladene Dateien nicht direkt
> zugreifen, sondern immer nur per move_uploaded_file()[1] (oder
> is_uploaded_file()). Im PHP-Handbuch wird auch ein move_uploaded_file()
> Beispiel gezeigt. Wenn das bei dir nicht funktioniert, dann schau mal
> nach upload_tmp_dir[2].
>
> [1] <http://www.php.net/manual/de/function.move-uploaded-file.php>
Ich nutze natürlich die move_uploaded_file Funktion.
Laut PHP Doku [1] :
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = basename($_FILES["pictures"]["name"][$key]);
move_uploaded_file($tmp_name, "$uploads_dir/$name");
}
}
Und hier liegt das Problem:
in $_FILES["pictures"]["tmp_name"] (um in obigem Beispiel zu bleiben)
steht nicht der richtige temp Pfad, somit kann er die Datei nicht
verschieben.
In meinem Fall ist der reale temp Pfad der lange systemd Pfad, aber in
[tmp_name] steht nur der kurze Pfsd, z.B. /tmp/phpwPsrev
EDIT (und Problem gelöst):
Das Problem lag wohl daran, dass ich - zu Testzwecken - die Dateien nach
/tmp kopieren wollte (als Zielverzeichnis). Das scheint nicht zu gehen.
Wenn ich als Zielverzeichnis etwas ausserhalb von /tmp wähle,
funktioniert es.
Jan
> [2] <http://www.php.net/manual/de/ini.core.php#ini.upload-tmp-dir>
>
[toc] | [prev] | [next] | [standalone]
| From | "Christoph M. Becker" <cmbecker69@arcor.de> |
|---|---|
| Date | 2018-05-08 13:05 +0200 |
| Subject | Re: GELÖST: File Upload mit systemd private temp |
| Message-ID | <pcs09k$r66$1@solani.org> |
| In reply to | #4372 |
Am 08.05.2018 um 12:45 schrieb Jan Novak: > EDIT (und Problem gelöst): > Das Problem lag wohl daran, dass ich - zu Testzwecken - die Dateien nach > /tmp kopieren wollte (als Zielverzeichnis). Das scheint nicht zu gehen. > Wenn ich als Zielverzeichnis etwas ausserhalb von /tmp wähle, > funktioniert es. Das liegt vermutlich an der open_basedir Einstellung, siehe <http://www.php.net/manual/de/function.move-uploaded-file.php#refsect1-function.move-uploaded-file-notes>. -- Christoph M. Becker
[toc] | [prev] | [next] | [standalone]
| From | "Peter J. Holzer" <hjp-usenet3@hjp.at> |
|---|---|
| Date | 2018-05-10 10:19 +0200 |
| Subject | Re: GELÖST: File Upload mit systemd private temp |
| Message-ID | <slrnpf804l.v74.hjp-usenet3@hrunkner.hjp.at> |
| In reply to | #4373 |
On 2018-05-08 11:05, Christoph M. Becker <cmbecker69@arcor.de> wrote:
> Am 08.05.2018 um 12:45 schrieb Jan Novak:
>> EDIT (und Problem gelöst):
>> Das Problem lag wohl daran, dass ich - zu Testzwecken - die Dateien nach
>> /tmp kopieren wollte (als Zielverzeichnis). Das scheint nicht zu gehen.
>> Wenn ich als Zielverzeichnis etwas ausserhalb von /tmp wähle,
>> funktioniert es.
>
> Das liegt vermutlich an der open_basedir Einstellung, siehe
><http://www.php.net/manual/de/function.move-uploaded-file.php#refsect1-function.move-uploaded-file-notes>.
Nein, das liegt wahrscheinlich daran, dass auf neueren Debian-Systemen
der Apache mit einem privaten /tmp gestartet wird:
% grep Private /lib/systemd/system/apache2.service
PrivateTmp=true
Das Directory, das die Apache-Prozesse unter /tmp sehen, ist also nicht
das selbe, das der Rest des Systems unter /tmp sieht.
hp
--
_ | Peter J. Holzer | Fluch der elektronischen Textverarbeitung:
|_|_) | | Man feilt solange an seinen Text um, bis
| | | hjp@hjp.at | die Satzbestandteile des Satzes nicht mehr
__/ | http://www.hjp.at/ | zusammenpaßt. -- Ralph Babel
[toc] | [prev] | [next] | [standalone]
| From | Jan Novak <repcom@gmail.com> |
|---|---|
| Date | 2018-05-10 10:46 +0200 |
| Subject | Re: GELÖST: File Upload mit systemd private temp |
| Message-ID | <pd10tl$kej$1@news.albasani.net> |
| In reply to | #4374 |
Am 10.05.2018 um 10:19 schrieb Peter J. Holzer: > On 2018-05-08 11:05, Christoph M. Becker <cmbecker69@arcor.de> wrote: >> Am 08.05.2018 um 12:45 schrieb Jan Novak: >>> EDIT (und Problem gelöst): >>> Das Problem lag wohl daran, dass ich - zu Testzwecken - die Dateien nach >>> /tmp kopieren wollte (als Zielverzeichnis). Das scheint nicht zu gehen. >>> Wenn ich als Zielverzeichnis etwas ausserhalb von /tmp wähle, >>> funktioniert es. >> >> Das liegt vermutlich an der open_basedir Einstellung, siehe >> <http://www.php.net/manual/de/function.move-uploaded-file.php#refsect1-function.move-uploaded-file-notes>. > > Nein, das liegt wahrscheinlich daran, dass auf neueren Debian-Systemen > der Apache mit einem privaten /tmp gestartet wird: > > % grep Private /lib/systemd/system/apache2.service > PrivateTmp=true > > Das Directory, das die Apache-Prozesse unter /tmp sehen, ist also nicht > das selbe, das der Rest des Systems unter /tmp sieht. Ja, genau so ist es! Jan
[toc] | [prev] | [next] | [standalone]
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Date | 2018-05-19 20:22 +0200 |
| Subject | Re: GELÖST: File Upload mit systemd private temp |
| Message-ID | <2436074.mvXUDI8C0e@PointedEars.de> |
| In reply to | #4374 |
Peter J. Holzer wrote: > % grep Private /lib/systemd/system/apache2.service > PrivateTmp=true > > Das Directory, das die Apache-Prozesse unter /tmp sehen, ist also nicht > das selbe, das der Rest des Systems unter /tmp sieht. Autsch! Systemd ist/hat einfach ein völlig krankes "Konzept". -- PointedEars Zend Certified PHP Engineer <http://www.zend.com/en/yellow-pages/ZEND024953> <https://github.com/PointedEars> | <http://PointedEars.de/wsvn> Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.
[toc] | [prev] | [next] | [standalone]
| From | Arno Welzel <usenet@arnowelzel.de> |
|---|---|
| Date | 2018-05-23 22:01 +0200 |
| Subject | Re: GELÖST: File Upload mit systemd private temp |
| Message-ID | <fmlvl7Fc7cfU1@mid.individual.net> |
| In reply to | #4376 |
Thomas 'PointedEars' Lahn: > Peter J. Holzer wrote: > >> % grep Private /lib/systemd/system/apache2.service >> PrivateTmp=true >> >> Das Directory, das die Apache-Prozesse unter /tmp sehen, ist also nicht >> das selbe, das der Rest des Systems unter /tmp sieht. > > Autsch! Systemd ist/hat einfach ein völlig krankes "Konzept". Dass /tmp ein global für alle Prozesse identisches Verzeichnis ist, halte ich nicht für wesentlich sinnvoller. Eigentlich sollte sowieso jeder Prozess ein lokales Verzeichnis für diesen Zweck haben. -- Arno Welzel https://arnowelzel.de https://de-rec-fahrrad.de http://fahrradzukunft.de
[toc] | [prev] | [next] | [standalone]
| From | Markus Grob <snoopy@ilnet.ch> |
|---|---|
| Date | 2018-06-11 17:54 +0200 |
| Subject | Re: GELÖST: File Upload mit systemd private temp |
| Message-ID | <pfm5vq$lhc$2@dont-email.me> |
| In reply to | #4377 |
Arno Welzel schrieb: > Dass /tmp ein global für alle Prozesse identisches Verzeichnis ist, > halte ich nicht für wesentlich sinnvoller. Eigentlich sollte sowieso > jeder Prozess ein lokales Verzeichnis für diesen Zweck haben. Bin ich nicht dafür. Vor allem da "kein" Programm aufräumt, ist es sinnvoller, alles "global" zu haben. Kann ja jeder sein eigenes Unterverzeichnis nehmen. Wenn ich aufräumen will, brauche ich aber nur an einem Ort zu schauen. Sonst wächst überall der Datenmüll. Manche machen daher /tmp nur noch als ramdrive, doch dies halte ich auch wieder für übertrieben. Gruss, Markus
[toc] | [prev] | [next] | [standalone]
| From | Claus Reibenstein <4spamersonly@kabelmail.de> |
|---|---|
| Date | 2018-06-11 19:16 +0200 |
| Subject | Re: GELÖST: File Upload mit systemd private temp |
| Message-ID | <fo7p45FloghU1@mid.individual.net> |
| In reply to | #4378 |
Markus Grob schrieb am 11.06.2018 um 17:54: > Manche machen daher /tmp nur noch als ramdrive, doch dies halte ich auch > wieder für übertrieben. Kommt drauf an. Wenn genügend RAM verfügbar ist, spricht eigentlich nichts gegen eine RAM-Disk, aber vieles dafür: - Sie ist deutlich schneller als eine SSD oder gar eine HD. - Sie schont die Datenträger. - Sie erspart das lästige Aufräumen. Mein Rechner hat 32 GB RAM. Davon habe ich 10 GB für die RAM-Disk abgezwackt. Bleiben immer noch 22 GB übrig. Reicht auch für aktuelle Spiele locker aus. Gruß Claus
[toc] | [prev] | [next] | [standalone]
| From | "Peter J. Holzer" <hjp-usenet3@hjp.at> |
|---|---|
| Date | 2018-06-11 19:35 +0200 |
| Subject | Re: GELÖST: File Upload mit systemd private temp |
| Message-ID | <slrnphtcni.rfc.hjp-usenet3@hrunkner.hjp.at> |
| In reply to | #4379 |
On 2018-06-11 17:16, Claus Reibenstein <4spamersonly@kabelmail.de> wrote:
> Markus Grob schrieb am 11.06.2018 um 17:54:
>> Manche machen daher /tmp nur noch als ramdrive, doch dies halte ich auch
>> wieder für übertrieben.
>
> Kommt drauf an. Wenn genügend RAM verfügbar ist, spricht eigentlich
> nichts gegen eine RAM-Disk, aber vieles dafür:
>
> - Sie ist deutlich schneller als eine SSD oder gar eine HD.
> - Sie schont die Datenträger.
> - Sie erspart das lästige Aufräumen.
>
> Mein Rechner hat 32 GB RAM. Davon habe ich 10 GB für die RAM-Disk
> abgezwackt. Bleiben immer noch 22 GB übrig.
Im Normalfall noch viel mehr. tmpfs[1] wächst bei Bedarf bis zur
konfigurierten Maximalgröße und schrumpft auch wieder. Sofern Du da
nicht wirklich 10 GB an Daten drauf hast, braucht Deine RAM-Disk nicht
wirklich 10 GB RAM. Default für tmpfs ist übrigens der halbe
Hauptspeicher.
hp
[1] Ich nehme jetzt ganz frech an, dass Du Linux verwendest.
--
_ | Peter J. Holzer | Fluch der elektronischen Textverarbeitung:
|_|_) | | Man feilt solange an seinen Text um, bis
| | | hjp@hjp.at | die Satzbestandteile des Satzes nicht mehr
__/ | http://www.hjp.at/ | zusammenpaßt. -- Ralph Babel
[toc] | [prev] | [next] | [standalone]
| From | Claus Reibenstein <4spamersonly@kabelmail.de> |
|---|---|
| Date | 2018-06-11 20:23 +0200 |
| Subject | Re: GELÖST: File Upload mit systemd private temp |
| Message-ID | <fo7t1dFmgnpU1@mid.individual.net> |
| In reply to | #4380 |
Peter J. Holzer schrieb am 11.06.2018 um 19:35: > On 2018-06-11 17:16, Claus Reibenstein <4spamersonly@kabelmail.de> wrote: > >> Mein Rechner hat 32 GB RAM. Davon habe ich 10 GB für die RAM-Disk >> abgezwackt. Bleiben immer noch 22 GB übrig. > > Im Normalfall noch viel mehr. tmpfs[1] wächst bei Bedarf bis zur > konfigurierten Maximalgröße und schrumpft auch wieder. Leider habe ich kein tmpfs, sondern die SoftPerfect RAM Disk in der Version 3.4.8 (die letzte Freeware-Version). Die belegt konstant die 10 GB, was ich aber durchaus verschmerzen kann. Wenn Du eine dynamische RAM-Disk für Windoof kennst, lass es mich wissen. > [1] Ich nehme jetzt ganz frech an, dass Du Linux verwendest. Nur als Gastsysteme unter VirtualBox, da ich aus beruflichen Gründen noch auf Windows als Hostsystem angewiesen bin. Und dann sind da auch noch die vielen Spiele ... Aber in 2½ Jahren gehe ich ja in Rente, und dann wird sowieso alles ganz anders ;-) Gruß Claus
[toc] | [prev] | [next] | [standalone]
| From | Arno Welzel <usenet@arnowelzel.de> |
|---|---|
| Date | 2018-06-14 02:40 +0200 |
| Subject | Re: GELÖST: File Upload mit systemd private temp |
| Message-ID | <fodrr5FqimjU2@mid.individual.net> |
| In reply to | #4378 |
Markus Grob: > Arno Welzel schrieb: > >> Dass /tmp ein global für alle Prozesse identisches Verzeichnis ist, >> halte ich nicht für wesentlich sinnvoller. Eigentlich sollte sowieso >> jeder Prozess ein lokales Verzeichnis für diesen Zweck haben. > > Bin ich nicht dafür. Vor allem da "kein" Programm aufräumt, ist es > sinnvoller, alles "global" zu haben. Kann ja jeder sein eigenes > Unterverzeichnis nehmen. Wenn ich aufräumen will, brauche ich aber nur Ja, von mir aus ein Unterverzeichnis in /tmp. Mir ging es darum, dass nicht jedes Programm in das *selbe* Verzeichnis schreibt und insbesondere auch aus diesem Verzeichnis alles *lesen* darf. -- Arno Welzel https://arnowelzel.de https://de-rec-fahrrad.de http://fahrradzukunft.de
[toc] | [prev] | [next] | [standalone]
| From | Markus Grob <snoopy@ilnet.ch> |
|---|---|
| Date | 2018-06-14 23:33 +0200 |
| Subject | Re: GELÖST: File Upload mit systemd private temp |
| Message-ID | <pfumve$qu9$1@dont-email.me> |
| In reply to | #4382 |
Arno Welzel schrieb: > Ja, von mir aus ein Unterverzeichnis in /tmp. Mir ging es darum, dass > nicht jedes Programm in das *selbe* Verzeichnis schreibt und > insbesondere auch aus diesem Verzeichnis alles *lesen* darf. Klar, doch dafür gibt es ja unterdessen ganz viele komplizierte Rechtesysteme, damit man sich nicht mehr mit diesen einfachen Sachen wie Gruppenberechtigung rumschlagen muss, welche dieses Problem meiner Meinung nach sauber lösen würden ;-) Gruss, Markus
[toc] | [prev] | [standalone]
Back to top | Article view | de.comp.lang.php
csiph-web