mod_imagesize: Probleme beim Upload

Diskussion zu nicht so umfangreichen Modulen und Start-Up für neue Module. Ansonsten bitte die speziellen Kategorien benutzen!
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 573
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 202 Mal
Danksagung erhalten: 19 Mal

mod_imagesize: Probleme beim Upload

Beitrag von hscha »

Liebe CPO-Nutzer:innen,

nach der Installation des Moduls mod_imagesize (Version 4.4c) erhalte ich beim Upload eines Bildes eine ganze Reihe von Fehlermeldungen:
Warning: copy(): open_basedir restriction in effect. File() is not within the allowed path(s): (/var/www/vhosts/...:/tmp/) in /var/www/vhosts/.../cms/mod_imagesize/includes/inc_resize.php on line 76
failed to copy 28939896-optische-t_uschung-mit-silhouetten-von-zwei-k_pfen.jpg...

Warning: rename(): open_basedir restriction in effect. File() is not within the allowed path(s): (/var/www/vhosts/...:/tmp/) in /var/www/vhosts/.../cms/mod_imagesize/includes/inc_resize.php on line 121

Warning: imagecreatefromjpeg(/var/www/vhosts/.../cms/_data/.[200x200]): failed to open stream: No such file or directory in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 67

Warning: imagesx() expects parameter 1 to be resource, bool given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 70

Warning: imagesy() expects parameter 1 to be resource, bool given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 71

Warning: Division by zero in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 76

Warning: Division by zero in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 77

Warning: imagecreatetruecolor() expects parameter 1 to be int, float given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 80

Warning: imagecopyresampled() expects parameter 1 to be resource, null given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 81

Warning: imagesx() expects parameter 1 to be resource, null given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 147

Warning: imagesy() expects parameter 1 to be resource, null given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 148

Warning: imagecolorallocate() expects parameter 1 to be resource, null given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 221

Warning: imagecolorallocate() expects parameter 1 to be resource, null given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 226

Warning: imagettftext() expects parameter 1 to be resource, null given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 240

Warning: imagettftext() expects parameter 1 to be resource, null given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 241

Warning: imagejpeg() expects parameter 1 to be resource, null given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 87

Warning: imagedestroy() expects parameter 1 to be resource, bool given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 91

Warning: imagedestroy() expects parameter 1 to be resource, null given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 92
 Eine zusätzliche große Bilddatei wurde als zoom_.[200x200] gespeichert.

Warning: imagecreatefromjpeg(/var/www/vhosts/.../cms/_data/.[200x200]): failed to open stream: No such file or directory in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 67

Warning: imagesx() expects parameter 1 to be resource, bool given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 70

Warning: imagesy() expects parameter 1 to be resource, bool given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 71

Warning: Division by zero in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 76

Warning: Division by zero in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 77

Warning: imagecreatetruecolor() expects parameter 1 to be int, float given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 80

Warning: imagecopyresampled() expects parameter 1 to be resource, null given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 81

Warning: imagejpeg() expects parameter 1 to be resource, null given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 87

Warning: imagedestroy() expects parameter 1 to be resource, bool given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 91

Warning: imagedestroy() expects parameter 1 to be resource, null given in /var/www/vhosts/.../cms/mod_imagesize/includes/functions.inc.php on line 92

Warning: filesize(): stat failed for /var/www/vhosts/.../cms/_data/.[200x200] in /var/www/vhosts/.../cms/mod_imagesize/includes/inc_resize.php on line 136
Ich nutze CPO 4.1.6+1 unter php 7.4. PHPINFO bestätigt, dass gd 2.10 auf dem Server aktiviert ist...
Gibt es Ideen oder Tipps zu diesen Fehlern?
Grüße von Horst
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Re: mod_imagesize: Probleme beim Upload

Beitrag von MarkusR »

Hallo Horst,

wir müssen Kontrollausgaben einbauen...
z.B. vor der in der ersten Meldung genannten Zeile

Code: Alles auswählen

if (!copy($new_filename, $path.'original_'.$prefix.$filename)) {
noch ein

Code: Alles auswählen

echo "copy(".$new_filename.", ".$path."original_".$prefix.$filename.")<br />";
WICHTIG: Ich gehe davon aus, dass der Dateiupload ohne das Modul vorher erfolgreich getestet wurde, damit wir nicht wieder an Folgefehlern operieren.

-> [ ] ja, ich habe es auch ohne Modul getestet [ ] nein, habe ich nicht

Hintergrund: Das Modul selbst führt keine Uploads durch. Es kopiert und verändert nur bereits hochgeladene Dateien. Das funktioniert aber nicht, wenn NICHTS hochgeladen wurde bzw. die Dateien gar nicht erst das Verzeichnis _data erreichen oder dort ein Zugriff aus irgendeinem Grund verboten ist. Das erfährt man z.B. aus den Texten, die rund um die Fehlermeldungen von Dir (aber wohl niemand anderem) gesehen, gelesen und verstanden werden können...

Statt den Upload ohne Modul zu testen (was einfach wäre) kannst Du auch in _includesite/i_file_upload.php die Zeile

Code: Alles auswählen

    if (!@move_uploaded_file($_FILES['uppedFiles']['tmp_name'][$i], $newFilename)) {
ändern zu

Code: Alles auswählen

    if (!move_uploaded_file($_FILES['uppedFiles']['tmp_name'][$i], $newFilename)) {
also das @ entfernen, damit hier die Fehlermeldungen nicht unterdrückt werden.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 573
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 202 Mal
Danksagung erhalten: 19 Mal

Re: mod_imagesize: Probleme beim Upload

Beitrag von hscha »

Hallo Markus,
der Dateiupload ohne Modul funktioniert!

Mit dem obigen Code wird die Original-Datei hochgeladen, aber in der Bildübersicht nicht angezeigt. Die Fehlermeldungen werden von dieser:
copy(, /var/www/vhosts/.../cms/_data/original_zwei_koepfe.jpg)
angeführt. Der Rest ist gleich. In der Bildübersicht ("Bilder bearbeiten") findet sich nach dem Upload der neue Eintrag
.[200x200]
mit dem Vermerk "Datei existiert nicht".
Kannst du damit was anfangen?

Grüße von Horst

P.S.: Meine Testlizenz ist abgelaufen. Damit kann es aber nicht zusammenhängen, oder?
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Re: mod_imagesize: Probleme beim Upload

Beitrag von MarkusR »

Ok, die Variable $new_filename existiert wohl nicht, was sie nur bis CPO 4.1.3 tat.
Daher gibt es die Zeile

Code: Alles auswählen

if (version_compare($CPO['version'], '4.1.3') >= 0) $new_filename = $newFilename; // workaround for CPO >= 4.1.3
Diese könnest Du probehalber mal ändern in

Code: Alles auswählen

$new_filename = $newFilename; 
also die Prüfung der CPO-Version entfernen.

Falls das eine Änderung bewirkt ist zu prüfen wieso Deine CPO-Version nicht als >4.1.3 erkannt wird.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 573
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 202 Mal
Danksagung erhalten: 19 Mal

Re: mod_imagesize: Probleme beim Upload

Beitrag von hscha »

Hallo Markus,
diese Änderung hat keinen Effekt. Ich prüfe mal die Rechte, die das Verzeichnis 'cms/_data' hat...
Bildschirmfoto 2022-02-20 um 14.42.51.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Re: mod_imagesize: Probleme beim Upload

Beitrag von MarkusR »

"kein Effekt" bedeutet, dass immer noch
copy(, /var/www/vhosts/.../cms/_data/original_zwei_koepfe.jpg)
ausgegeben wird, also NICHTS vor dem Komma steht?
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Re: mod_imagesize: Probleme beim Upload

Beitrag von MarkusR »

hscha hat geschrieben: 20.02.2022 15:09 In der Bildübersicht ("Bilder bearbeiten") findet sich nach dem Upload der neue Eintrag
.[200x200]
mit dem Vermerk "Datei existiert nicht".
Kannst du damit was anfangen?
Naja, das Modul macht eben seine Arbeit (soweit möglich) und speichert diese in der Datenbank.
Mit leerem Originalnamen ist eben auch der ergänzte Namen arg kurz...
Und die neue Datei existiert nicht, da das Modul ja nicht auf die originale Datei zugreifen kann/darf.

P.S. Lösung für abgelaufene Testlizenzen: Neue Testlizenz herunterladen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Re: mod_imagesize: Probleme beim Upload

Beitrag von MarkusR »

Lege doch mal die von Dir bearbeitete Datei _includesite/i_file_upload.php bei.
Vielleicht steht da was an der falschen Stelle, so dass die benötigten Variablen noch nicht oder nicht mehr verfügbar sind.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 573
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 202 Mal
Danksagung erhalten: 19 Mal

Re: mod_imagesize: Probleme beim Upload

Beitrag von hscha »

Die Ausgabe gibt nach wie vor keinen Dateinamen aus:
copy(, /var/www/vhosts/.../cms/_data/original_zwei_koepfe.jpg)
Die Datei hänge ich an...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Re: mod_imagesize: Probleme beim Upload

Beitrag von MarkusR »

Also...

in Zeile 203 von i_file_upload.php steht

Code: Alles auswählen

$checkImage = @getimagesize($new_filename);
in Zeile 222 wird dann inc_resize.php eingebunden, die dann aber bei

Code: Alles auswählen

echo "copy(".$new_filename.", ".$path."original_".$prefix.$filename.")<br />";
bei $new_filename nichts mehr ausgeben kann. Begründung weiter unten...

Nun wird es interessant:
CPO 4.1.6+1 benutzt in i_file_upload.php die Variable $newFilename
CPO 4.1.3 bis 4.1.6 (Original) benutzt $newFilename
aber...
CPO 4.1.2 (vom 17.06.2010) und früher benutzt $new_filename

Wie kommt bei Dir also $new_filename in eine Version >= 4.1.6 ????

Das Modularchiv enthält ja extra verschiedene premodded Versionen.

Hast Du die falsche benutzt???

Somit zerstört

Code: Alles auswählen

if (version_compare($CPO['version'], '4.1.3') >= 0) $new_filename = $newFilename; // workaround for CPO >= 4.1.3
natürlich die benötigte Variable ($newFilename existiert ja nicht), da Version und Datei nicht zusammenpassen.

Lösung: benutze die richtige premodded-Datei oder entferne diese Zeile.
Bei Letzterem hast Du aber eine partiell falsche Installation und die Probleme werden immer wieder kommen...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 573
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 202 Mal
Danksagung erhalten: 19 Mal

Re: mod_imagesize: Probleme beim Upload

Beitrag von hscha »

Danke, Markus! Ich checke meine Installation durch...

Grüße von Horst
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Re: mod_imagesize: Probleme beim Upload

Beitrag von MarkusR »

Ja, schau mal.

Deine beigelegte Datei trägt oben die Zeile
i_file_upload.php 543 2010-04-05
die seit CPO 4.1.3 (31.10.2011) ersatzlos gestrichen wurde... :wink:
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Re: mod_imagesize: Probleme beim Upload

Beitrag von MarkusR »

Ursache ist wohl folgendes (habe ich aus Deinem Posting zur WishList geschlossen):

Du benutzt file_overwrite

Dazu habe ich 2010 eine i_file_upload.php-Version erstellt, die bis 4.1.2 funktionierte.
Später (2014) dann eine, die von 4.1.3 bis 4.1.6 funktionierte.

Diese wirst Du wohl einfach benutzt haben, allerdings die Falsche.
Besser wäre es gewesen die richtige zu nehmen...

Die richtige Vorgehensweise wäre gewesen, die entsprechenden Änderungen in eine Original-Datei, z.B. die von CPO 4.1.6+1 einzubauen.
Dazu muss man nur die Dateien mit den Originalen vergleichen (siehe Anlage) und diese Änderungen analog übernehmen. Das ist genau das Verfahren, wie man einen laufenden Webauftritt auf eine neue Version umstellt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Re: mod_imagesize: Probleme beim Upload

Beitrag von MarkusR »

Ich stand vor dem Problem, die 4.1.6.+1-Version mit den für mich wichtigen Modifikationen zu versehen. Somit habe ich im Forum recherchiert und bin auf diese gestoßen... - vielleicht wäre ein Hinweis im entsprechenden Thread sinnvoll...
Naja, einfach Dateien in eine andere Version zu kopieren ist nie die Lösung.
Sonst gäbe es keine andere Version.
Meist ist eben nicht der erste Beitrag eines Threads die Lösung sondern eher der Letzte.
Und da steht
Ich habe die entsprechenden Codezeilen mal in die i_file_upload.php von CPO 4.1.6 übernommen.
Nach 12 bzw. 8 Jahren weiß ich auch nicht mehr auswendig, dass ich keine Schritt für Schritt-Anleitung geschrieben habe. Hat auch NIE jemand danach gefragt... Also Sorry für meine Nachlässigkeit, dass ich nicht den damals 4 Jahre alten Beitrag mit dem Hinweis versehen habe, dass es weiter unten weiter geht...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 573
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 202 Mal
Danksagung erhalten: 19 Mal

Re: mod_imagesize: Probleme beim Upload

Beitrag von hscha »

Diese wirst Du wohl einfach benutzt haben, allerdings die Falsche.
Besser wäre es gewesen die richtige zu nehmen...
Tja, das sehe ich auch so...
Der Unterschied zwischen den beiden Threads erschloss sich mir nicht, als ich die verschiedenen Verbesserungen für das Original-CPO im Forum zusammengesucht habe...
Vielen Dank, Markus. Das Modul läuft nun, wie es soll.
Wegen der Bestellung der Module schreibe ich eine PN
Grüße von Horst