Willkommen, Gast ( Anmelden | Registrierung )     [ Hilfe | Mitglieder | Suche ]

2 Seiten V   1 2 >  
Reply to this topicStart new topic
> Uploadproblem bei grösseren Modulen
Mephistos
Beitrag Fri. 19. January 2007, 00:54
Beitrag #1


Member
**

Gruppe: Members
Beiträge: 13
Mitglied seit: 19.12.2006
Mitglieds-Nr.: 525



Mhh

Bekomme immer die Meldung
"Es wurde keine gültige *.cmsmod- Datei hochgeladen", wenn ich das Modul hochladen will.

Hab jetzt schon zweimal gedownloaded, weil ich dachte, beim DL wäre was schief gelaufen. Die Version 1.03.01 ist doch die aktuellste und sollte doch damit funktionieren, oder?

Schade sieht nämlich wirklich super aus und ist genau das, was ich brauche :-/

Hat jemand ne Idee?

Danke
Go to the top of the page
 
+Quote Post
MaZderMind
Beitrag Fri. 19. January 2007, 01:17
Beitrag #2


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 680
Mitglied seit: 09.08.2006
Wohnort: nähe Mainz
Mitglieds-Nr.: 182



Du hast auch schon dran gedacht das ZIP-Archiv vorher zu entpacken, oder?

Gruß, Peter
Go to the top of the page
 
+Quote Post
Mephistos
Beitrag Fri. 19. January 2007, 01:41
Beitrag #3


Member
**

Gruppe: Members
Beiträge: 13
Mitglied seit: 19.12.2006
Mitglieds-Nr.: 525



ZITAT(MaZderMind @ Fri. 19. January 2007, 01:17) *
Du hast auch schon dran gedacht das ZIP-Archiv vorher zu entpacken, oder?

Gruß, Peter


Hehe :-). Ja. Hab auch schon andere Module erfolgreich bereitgestellt.

Die Datei, die ich auswähle zum Upload heißt: MrList_v02_05_01.cmsmod

Dann kommt immer die Fehlermeldung. Ich checks nicht :-(
Go to the top of the page
 
+Quote Post
amk
Beitrag Fri. 19. January 2007, 10:50
Beitrag #4


TRAIL AND ERROR SPECIALIST
********

Gruppe: AdvancedMembers
Beiträge: 1.708
Mitglied seit: 27.06.2006
Wohnort: Hansestadt Rostock, Deutschland
Mitglieds-Nr.: 9



keine ahnung ... bist der erst mit solchem problem ... geht's denn mit anderen modulen (oder bspw. auch der MrList-standard-version im package)?


--------------------
cheers, Alex
Go to the top of the page
 
+Quote Post
Mephistos
Beitrag Fri. 19. January 2007, 13:13
Beitrag #5


Member
**

Gruppe: Members
Beiträge: 13
Mitglied seit: 19.12.2006
Mitglieds-Nr.: 525



ZITAT(amk @ Fri. 19. January 2007, 10:50) *
keine ahnung ... bist der erst mit solchem problem ... geht's denn mit anderen modulen (oder bspw. auch der MrList-standard-version im package)?

Mhh. Also irgendwas stimmt da wirklich nicht (bei mir).

ContentFlex, MrList melden beide diesen Fehler.

Navigation2.0 hat aber funktioniert.

Ich hatte gestern mal ein paar Stunden das ganze unter die Lupe genommen und die cmsmod Datei verändert. Wenn ich aus dem input Tag einen Großteil lösche funktioniert der Upload auf einmal (nur Inhalt gelöscht - alle XML Tags blieben bestehen). Aber ansonsten bricht er schon direkt beim ersten Tag (dem <name>) ab und meldet den Fehler. Dafür verantwortlich ist der preg_match Befehl im Repository.

Mir ist schon klar, dass es grundsätzlich funktionieren muss und es kein Fehler im Quellcode oder der cmsmod Datei sein kann, weil es ja bei allen funktioniert. Ich wollte dem nur mal auf den Grund gehen.

Das einzige was mir noch einfällt, wäre irgendeine serverseitige Konfiguration, die da mit reinspielt.

Hat vielleicht jemand ne Idee, ob es an irgend einer PHP Einstellung liegen könnte.

Ich bin echt ratlos. Eventuell installiere ich Sefrengo noch mal neu. So jedenfalls bringt es leider nix :-(

Danke schon mal
Meph

P.s. Was meinst Du mit der Standard Version. Ist MrList bei den vorinstallierten Modulen dabei? Bei mir nicht.

Der Beitrag wurde von Mephistos bearbeitet: Fri. 19. January 2007, 13:15
Go to the top of the page
 
+Quote Post
MaZderMind
Beitrag Fri. 19. January 2007, 13:24
Beitrag #6


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 680
Mitglied seit: 09.08.2006
Wohnort: nähe Mainz
Mitglieds-Nr.: 182



Hi
Auf was ist deine upload_max_filesize in der phpinfo gestellt?

Gruß, Peter
Go to the top of the page
 
+Quote Post
amk
Beitrag Fri. 19. January 2007, 13:32
Beitrag #7


TRAIL AND ERROR SPECIALIST
********

Gruppe: AdvancedMembers
Beiträge: 1.708
Mitglied seit: 27.06.2006
Wohnort: Hansestadt Rostock, Deutschland
Mitglieds-Nr.: 9



ZITAT(Mephistos @ Fri. 19. January 2007, 13:13) *
P.s. Was meinst Du mit der Standard Version. Ist MrList bei den vorinstallierten Modulen dabei? Bei mir nicht.

nein das meine ich nicht ... ich meine damit die im zip-archiv befindliche nicht vorkonfigurierte version.

bitte alles weitere zu modulinstallationsproblemen im anwender-forum. smile.gif


--------------------
cheers, Alex
Go to the top of the page
 
+Quote Post
mistral
Beitrag Fri. 19. January 2007, 13:33
Beitrag #8


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 343
Mitglied seit: 26.06.2006
Wohnort: CH
Mitglieds-Nr.: 5



Hallo zusammen

Ich habe den Fhler auch schon gesehen. Scheint am Sever zu liegen. Ich habe das Problem aber noch nicht gelöst.
Aber folge Infos dazu.
Es liegt nicht am ZIP-Support. (cmsmod sind nicht komprimiert)
Es betrifft alle Module die eine gewisse Grösse haben (ca. 50kB)
Der Fehler tritt an folgender Stelle auf:
Datei class.repository.php
function cms_mod($xmlstring)
Zeile 492
QUELLTEXT
if(!preg_match("/(<" . $key . ">)(.*)(<\/" . $key . ">)/ims", $xmlstring, $match) && $key != 'config' && $key != 'repository_id' && $key != 'install_sql' && $key != 'uninstall_sql' && $key != 'update_sql') return '1603';


Ich vermute es liegt am memory welches für den Seitenauafruf limitiert ist. Das ist aber nur ein vermutung.

@MaZderMind: an upload_max_filesize liegt es meiner Meinung nach auch nicht, da dass Modul bei mir komplet hochgeladen war, aber die Auswertung mit dem preg_match in die Hose ging.

@Mephistos
Php-Version?
Betriebssystem?
Apache Version?
Gruss
Reto


--------------------
So einfach wie möglich, aber nicht einfacher!
(Albert Einstein)
Go to the top of the page
 
+Quote Post
Mephistos
Beitrag Fri. 19. January 2007, 15:12
Beitrag #9


Member
**

Gruppe: Members
Beiträge: 13
Mitglied seit: 19.12.2006
Mitglieds-Nr.: 525



ZITAT(mistral @ Fri. 19. January 2007, 13:33) *
Hallo zusammen

Ich habe den Fhler auch schon gesehen. Scheint am Sever zu liegen. Ich habe das Problem aber noch nicht gelöst.
Aber folge Infos dazu.
Es liegt nicht am ZIP-Support. (cmsmod sind nicht komprimiert)
Es betrifft alle Module die eine gewisse Grösse haben (ca. 50kB)
Der Fehler tritt an folgender Stelle auf:
Datei class.repository.php
function cms_mod($xmlstring)
Zeile 492
QUELLTEXT
if(!preg_match("/(<" . $key . ">)(.*)(<\/" . $key . ">)/ims", $xmlstring, $match) && $key != 'config' && $key != 'repository_id' && $key != 'install_sql' && $key != 'uninstall_sql' && $key != 'update_sql') return '1603';


Ich vermute es liegt am memory welches für den Seitenauafruf limitiert ist. Das ist aber nur ein vermutung.

@MaZderMind: an upload_max_filesize liegt es meiner Meinung nach auch nicht, da dass Modul bei mir komplet hochgeladen war, aber die Auswertung mit dem preg_match in die Hose ging.

@Mephistos
Php-Version?
Betriebssystem?
Apache Version?
Gruss
Reto

OK. Erst mal danke fürs verscheiben und sorry.

Kann Dich nur bestätigen. Dieser preg_match Befehl ist die Ursache für mein Problem.

Server ist wie folgt:
Apache/2.0.54 (Debian GNU/Linux) PHP/5.2.0-7~bpo.1

Upload_max_file_size liegt bei 2MB, sollte also eigentlich kein Problem darstellen.

Schade, dass Du noch keine Lösung gefunden hast. Wie oder wo kann man den Speicher für den Seitenaufruf bestimmen?

Ich werd wohl mal ein ernstes Wörtchen mit meinem Provider sprechen müssen ;-)

Danke auf jeden Fall schon mal.
Go to the top of the page
 
+Quote Post
STam
Beitrag Sat. 20. January 2007, 13:34
Beitrag #10


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 541
Mitglied seit: 27.06.2006
Mitglieds-Nr.: 8



Tausch mal die Zeile 526 gegen diese aus:
QUELLTEXT
$match = null; $key = null; $value = null;
... und teste nochmal.

Gruß

Edit: ich meinte Zeile 500

Der Beitrag wurde von STam bearbeitet: Sun. 21. January 2007, 00:08
Go to the top of the page
 
+Quote Post
Guest_bkm_*
Beitrag Sat. 20. January 2007, 14:05
Beitrag #11





Guests






Hatte das Problem unter PHP 5.2.0 auch, hat wohl was hiermit zutun
Laufzeit Konfiguration was jetzt neu ist.
mit setzen von pcre.backtrack_limit=-1 hats funktioniert
Go to the top of the page
 
+Quote Post
Mephistos
Beitrag Sat. 20. January 2007, 16:26
Beitrag #12


Member
**

Gruppe: Members
Beiträge: 13
Mitglied seit: 19.12.2006
Mitglieds-Nr.: 525



Leider hat der Tipp von STam nicht funktioniert.

Dann hab ich in der main.php folgendes eingefügt.
CODE
ini_set('pcre.backtrack_limit',-1);


Habs auch über ini_get_all überprüft. Lokal war richtigerweise die -1 gesetzt. Leider hats trotzdem nicht funktioniert.

Hab meinen Provider jetzt noch gebeten das direkt in der php.ini zu ändern. Allerdings eher aus Verzweiflung, weil das ja eigentlich keinen Unterschied machen sollte.

Ich bin ratlos. Schade.

Der Beitrag wurde von Mephistos bearbeitet: Sat. 20. January 2007, 16:26
Go to the top of the page
 
+Quote Post
mistral
Beitrag Sat. 20. January 2007, 18:36
Beitrag #13


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 343
Mitglied seit: 26.06.2006
Wohnort: CH
Mitglieds-Nr.: 5



Hallo zusammen

STams Tip funktioniert bei mir auch nicht, auch wenn ich die Zeile 500 ersetze.

Bei mir funktioniert aber das Setzen der pcre.backtrack_limit.

Ich habe die Zeile vor dem while eingefügt und so funktioniert es bei mir.
QUELLTEXT
ini_set('pcre.backtrack_limit',-1);
        while (list ($key, $value) = each ($this->_xmlexport['mod'])) {
            // funktionalit?t von cmsmod v0.2 bleibt erhalten
            if(!preg_match("/(<" . $key . ">)(.*)(<\/" . $key . ">)/ims", $xmlstring, $match) && $key != 'config' && $key != 'repository_id' && $key != 'install_sql' && $key != 'uninstall_sql' && $key != 'update_sql') return '1603';


@Mephistos ev funktioniert es ja so auch bei Dir.


--------------------
So einfach wie möglich, aber nicht einfacher!
(Albert Einstein)
Go to the top of the page
 
+Quote Post
STam
Beitrag Sun. 21. January 2007, 00:28
Beitrag #14


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 541
Mitglied seit: 27.06.2006
Mitglieds-Nr.: 8



Vieleicht könnte jemand mal diese Zeile vorher einbauen (am besten vor dem while (list ($k...):
QUELLTEXT
flush();
ob_end_flush();
... damit wir mal eine richtige Fehlermeldung bekommen smile.gif
... oder gleich die Methode so ersetzen (nur zum Testen!):
QUELLTEXT
/**
    * repository::cms_mod()
    *
    * Parse and check a Module XML-Code
    *
    * @param string  $xmlstring Module Content
    */
    function cms_mod($xmlstring) {
        $trans_tbl = get_html_translation_table (HTML_ENTITIES);
        $trans_tbl = array_flip ($trans_tbl);
        $xml_array = array();
        flush();
        ob_end_flush();
        while (list ($key, $value) = each ($this->_xmlexport['mod'])) {
            // funktionalitaet von cmsmod v0.2 bleibt erhalten
            if(!preg_match("/(<" . $key . ">)(.*)(<\/" . $key . ">)/ims", $xmlstring, $match) && $key != 'config'
                && $key != 'repository_id' && $key != 'install_sql' && $key != 'uninstall_sql' && $key != 'update_sql') {
                echo preg_last_error();
                return '1603';
            }
            $match['2'] = strtr ($match['2'], $trans_tbl);
            if ($key == 'created' && $match['2'] < 1) $match['2'] = time();
            if ($key == 'lastmodified') $match['2'] = time();
            if ($key == 'author') $match['2'] = $this->_auth->auth['uid'];
            $match['2'] = make_string_dump ($match['2']);
            $match['2'] = $value == 'char' ? (string) $match['2'] : (int) $match['2'];
            $xml_array["$key"] = $match['2'];
            $match = null; $key = null; $value = null;
        }
        ob_start();
        if ($xml_array['repository_id'] == '' ) $xml_array['repository_id'] = $this->gen_new_mod($xml_array['name'], true);
        return $xml_array;
    }

Und dann könnte man noch damit PHP: Memory Usage, was testen.

Gruß

P.S.: übrigens meinte ich oben die Zeile 500... nicht 526, Sorry.

Der Beitrag wurde von STam bearbeitet: Sun. 21. January 2007, 00:38
Go to the top of the page
 
+Quote Post
Mephistos
Beitrag Sun. 21. January 2007, 19:49
Beitrag #15


Member
**

Gruppe: Members
Beiträge: 13
Mitglied seit: 19.12.2006
Mitglieds-Nr.: 525



So. Also nachedm mein Provider die php.ini geändert hatte und es immer noch nicht klappte, hab ich kurzerhand Sefrengo komplett neu installiert.


Und schwupps, schon funktioniert es :-)

Wahrscheinlich hab ich bei meiner ganzen "Self Dubuggerei" wohl irgendwas übersehen.

Vielen, vielen Dank auf jeden Fall für die ganze Hilfe hier und den Trick mit dem backtrack_limit, auf den ich im Leben nicht gekommen wäre.

Danke.
Go to the top of the page
 
+Quote Post
mistral
Beitrag Sun. 21. January 2007, 20:23
Beitrag #16


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 343
Mitglied seit: 26.06.2006
Wohnort: CH
Mitglieds-Nr.: 5



@STam

ZITAT
flush();
ob_end_flush();

ergab keine neue Fehlermeldung.

Mit der neue Funktion hat der upload auch nicht funktioniert, einzige eine '2' wurde zusätzlich ausgegeben. Dies entspricht 'PREG_BACKTRACK_LIMIT_ERROR'.

PHP: Memory Usage funktioniert bei mir nicht da PHP ohne --enable-memory-limit kompiliert wurde.

Gruss
Mistral


--------------------
So einfach wie möglich, aber nicht einfacher!
(Albert Einstein)
Go to the top of the page
 
+Quote Post
bjoern
Beitrag Mon. 12. November 2007, 12:38
Beitrag #17


Administrator
********

Gruppe: Members
Beiträge: 1.092
Mitglied seit: 16.06.2006
Wohnort: Köln
Mitglieds-Nr.: 1



Der Bug ist seit Sefrengo 1.4. behoben. ini_set('pcre.backtrack_limit',-1) ist da bereits im Core enthalten.


--------------------
Es wird, es wird...
Go to the top of the page
 
+Quote Post
SefrenTo
Beitrag Tue. 13. November 2007, 11:47
Beitrag #18


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 376
Mitglied seit: 05.08.2006
Mitglieds-Nr.: 177



ZITAT(bjoern @ Mon. 12. November 2007, 12:38) *
Der Bug ist seit Sefrengo 1.4. behoben. ini_set('pcre.backtrack_limit',-1) ist da bereits im Core enthalten.


Ein Update wäre mir zu heikel bei einem laufenden Projekt. Kann ich in irgendeiner Datei diese Zeile austauschen "ini_set('pcre.backtrack_limit',-1)".

Wenn ja, welche Datei muss ich modifizieren und an welcher Stelle und wo befindet sich diese Datei???

Danke für die Tips!
Go to the top of the page
 
+Quote Post
gunwalt
Beitrag Tue. 13. November 2007, 14:10
Beitrag #19


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 1.126
Mitglied seit: 27.06.2006
Mitglieds-Nr.: 7



ZITAT(SefrenTo @ Tue. 13. November 2007, 11:47) *
Ein Update wäre mir zu heikel bei einem laufenden Projekt. Kann ich in irgendeiner Datei diese Zeile austauschen "ini_set('pcre.backtrack_limit',-1)".


Auch eine Zeile auszutauschen, würde ich als Update bezeichnen.


--------------------
------
Ich gehe spazieren durch Gelsenkirchen
Go to the top of the page
 
+Quote Post
SefrenTo
Beitrag Tue. 13. November 2007, 18:16
Beitrag #20


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 376
Mitglied seit: 05.08.2006
Mitglieds-Nr.: 177



ZITAT(gunwalt @ Tue. 13. November 2007, 14:10) *
Auch eine Zeile auszutauschen, würde ich als Update bezeichnen.


OK aber welche Zeile ist es????????????

Danke für eure Hilfe!
Go to the top of the page
 
+Quote Post

2 Seiten V   1 2 >
Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 28.3.24 - 18:38

Sefrengo ist ein eingetragenes Markenzeichen und urheberrechtlich geschützt.
Copyright 2009 Design & Daten, Alle Rechte vorbehalten.