Fehlermeldung php oder nginx?

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
jcw
Beiträge: 99
Registriert: 10.01.2016 17:11:46

Fehlermeldung php oder nginx?

Beitrag von jcw » 22.05.2022 09:07:39

Hallo!

Gerade habe ich ein Problem gelöst viewtopic.php?t=184194, da tut sich schon das nächste auf. Beim upload von großen Dateien (>2gb) bekomme ich folgende Fehlermeldung und das Datei wird gar nicht erst gespeichert.

Code: Alles auswählen

2022/05/22 07:37:21 [error] 9375#9375: *4908 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 93.207.215.218, server: 192.168.178.4, request: "POST /foto/ws.php?method=pwg.images.upload&format=json HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.4-fpm.sock:", host: "raspi-jw03.ddns.net", referrer: "https://raspi-jw03.ddns.net/foto/admin.php?page=photos_add"
2022/05/22 08:41:43 [error] 9375#9375: *5250 directory index of "/external_disk/data32/fotos-piwigo2/" is forbidden, client: 193.118.53.202, server: 192.168.178.4, request: "GET / HTTP/1.1", host: "93.207.215.218"
Meine Nginx-Datei: pastebin/?mode=view&s=41687
Dies habe ich unter /etc/php/7.4/fpm/php.ini angehängt:

Code: Alles auswählen

; List of headers files to preload, wildcard patterns allowed.
;ffi.preload=
upload_max_filesize = 4096M
post_max_size = 4096M
upload_tmp_dir = /external_disk/data32/fotos-piwigo2/tmp-piwigo/
memory_limit = 64M
max_file_uploads = 5
;extension = apc.so
;apc.enabled = 1
;apc.include_once_override = 0
;apc.shm_size = 256
pm.max_requests = 700
Hat jemand eine Lösung?

Benutzeravatar
debilian
Beiträge: 1162
Registriert: 21.05.2004 14:03:04
Wohnort: 192.168.43.7
Kontaktdaten:

Re: Fehlermeldung php oder nginx?

Beitrag von debilian » 22.05.2022 11:43:31

directory index of "/external_disk/data32/fotos-piwigo2/" is forbidden
vermute ein Rechte Problem, er darf da nicht lesen?! Also den Inhalt, tmp-piwigo, sieht er nicht?!

gruss
-- nichts bewegt Sie wie ein GNU --

jcw
Beiträge: 99
Registriert: 10.01.2016 17:11:46

Re: Fehlermeldung php oder nginx?

Beitrag von jcw » 22.05.2022 17:44:02

Komischerweiser funktioniert es bei kleinen Dateien (<2gb). Die werden hochgeladen.
Wie müssten die Rechte denn aussehen?

Code: Alles auswählen

root@jw04:/external_disk/data32/fotos-piwigo2# ls -lh
insgesamt 12K
drwxr-xr-x 16 www-data www-data 4,0K 14. Mai 16:01 foto
-rw-r--r--  1 root     root       20 24. Aug 2017  test.php.old
drwxrwxrwx  2 root     root     4,0K 22. Mai 10:05 tmp-piwigo

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: Fehlermeldung php oder nginx?

Beitrag von MSfree » 22.05.2022 18:00:20

jcw hat geschrieben: ↑ zum Beitrag ↑
22.05.2022 17:44:02
Komischerweiser funktioniert es bei kleinen Dateien (<2gb). Die werden hochgeladen.
Wie müssten die Rechte denn aussehen?
Es gibt keine gesonderten/zusätzlichen Rechte für Dateien größer 2GB. Offensichtlich hat nginx/php in der 32Bit-Version, die du in diesem Thread beschreibst, eine Art "natürliches" 2GB-Limit, die du auch nicht wegkonfigurieren kannst. Die fseek-Funktion aus der Standard-C-Bibliothek, die alle Programme (auch nginx und php) verwenden, kann in der 32Bit-Version nur 2³¹-1 Bytes adressieren, und das sind eben genau 2GByte (minus 1).

Da du einen Raspi 3 nutzt, könntest du die 64Bit Version von Raspbian oder auch gleich die ARM64 Version von Debian nutzen.

Benutzeravatar
debilian
Beiträge: 1162
Registriert: 21.05.2004 14:03:04
Wohnort: 192.168.43.7
Kontaktdaten:

Re: Fehlermeldung php oder nginx?

Beitrag von debilian » 22.05.2022 19:51:03

Es gibt keine gesonderten/zusätzlichen Rechte für Dateien größer 2GB. Offensichtlich hat nginx/php in der 32Bit-Version, die du in diesem Thread beschreibst, eine Art "natürliches" 2GB-Limit, die du auch nicht wegkonfigurieren kannst.
ok, das hatte ich übersehen....
-- nichts bewegt Sie wie ein GNU --

jcw
Beiträge: 99
Registriert: 10.01.2016 17:11:46

Re: Fehlermeldung php oder nginx?

Beitrag von jcw » 22.05.2022 21:06:44

MSfree hat geschrieben: ↑ zum Beitrag ↑
22.05.2022 18:00:20
jcw hat geschrieben: ↑ zum Beitrag ↑
22.05.2022 17:44:02
Komischerweiser funktioniert es bei kleinen Dateien (<2gb). Die werden hochgeladen.
Wie müssten die Rechte denn aussehen?
Es gibt keine gesonderten/zusätzlichen Rechte für Dateien größer 2GB. Offensichtlich hat nginx/php in der 32Bit-Version, die du in diesem Thread beschreibst, eine Art "natürliches" 2GB-Limit, die du auch nicht wegkonfigurieren kannst. Die fseek-Funktion aus der Standard-C-Bibliothek, die alle Programme (auch nginx und php) verwenden, kann in der 32Bit-Version nur 2³¹-1 Bytes adressieren, und das sind eben genau 2GByte (minus 1).

Da du einen Raspi 3 nutzt, könntest du die 64Bit Version von Raspbian oder auch gleich die ARM64 Version von Debian nutzen.
Kann ich das einfach auf 64bit umstellen wie in diesem Artikel https://www.bastianoso.de/tipps-tricks/ ... ellen.html beschrieben? Noch eine Frage: Ich benutze gleiche Festplatte, um Backups vom Desktop zu erstellen. Da kann ich Dateien >2gb per rsync kopieren. Warum gibt es da kein 2gb Begrenzung? Verstehe ich da grundsätzlich was falsch?

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: Fehlermeldung php oder nginx?

Beitrag von MSfree » 22.05.2022 21:19:37

jcw hat geschrieben: ↑ zum Beitrag ↑
22.05.2022 21:06:44
... Da kann ich Dateien >2gb per rsync kopieren. Warum gibt es da kein 2gb Begrenzung?
Es gibt in der Standard-C-Bibliothek eine Funktion "fseek64", die mit 64Bit breiten Adressen arbeitet und auch in einer 32Bit Umgebung verwendet werden kann. Vermutlich (ohne in der Quellcode von php, nginx und rsync gesehen zu haben) verwenden die verschiedenen Programme halt mal fseek und auch mal fseek64. Die Verarbeitung von 64Bit breiten Adressen und Intergern in einer 32Bit Umgebung ist halt relativ teuer. In der 64Bit Version der Standard-C-Bibliothek sind fseek und fseek64 identisch.
Kann ich das einfach auf 64bit umstellen
Ich würde mich damit nicht rumplagen. Ich würde einfach eine neue µSD-Karte frisch mit dem 64Bit-OS einrichten. Die Festplatte für deine Backups und andere Daten kannst du auch in das 64Bit-System mounten und wie gewohnt verwenden.

Antworten