Jump to content
xt:Commerce Community Forum

Veyton inkompatibel zu PHP 5.3 - Workaround?


ufreier

Recommended Posts

Hi,

Veyton 4.0.12 ist ja inkompatibel zu PHP 5.3 und setzt aus mit

Fatal error: Cannot redeclare date_add() in /home/shop/xtFramework/functions/date_short.inc.php on line 81

Kommt wohl daher, dass date_add eine built-in Funktion in PHP 5.3 ist und die Programmierung an dieser Stelle geändert werden muss.

Nachdem PHP 5.3 jetzt ja nicht wirklich so neu ist und zumindest ein nicht ganz unwichtiger Linux-Distributor seine aktuelle Version SuSE 11.2 nur noch mit PHP 5.3 ausliefert, hoffe ich doch mal auf ein Update des Veytons bzgl. dieser Prolematik.

Bis dahin: kennt denn jemand einen Workaround dafür?

Gruß, Uwe

Link to comment
Share on other sites

  • Replies 57
  • Created
  • Last Reply

Hi,

also ich habe mir nochmals meine error_log durchgesehen und da hagelt´s natürlich Fehlermeldungen. Die date_add() könnte man noch konsistent in den Dateien functions/date_short.inc.php, classes/class.order.php und classes/class.download.php umbenennen. Das ist aber noch nicht einmal ein Achtel-Miete.

Wesentlich bedeutender ist die Verwendung der mittlerweile in PHP 5.3 veralteten Funktionen wie z.B. ereg(i)() und erge(i)_replace, die durch preg_match und preg_replace ersetzt werden müssen - leider müssen auch die Argumente geändert werden, also ein einfaches "Replace" ist da nicht ausreichend.

Allein die beiden o.g. Funktionen werden in solcher Vielzahl verwendet, also ich möchte das nicht PHP5.3-gängig machen müssen!

Muss ich aber auch nicht, dafür habe ich mir ja ein kommerzielles Shop-System gekauft.:-)

Allerdings macht mich dabei schon der Stand der Entwicklung des Veytons etwas stutzig, inbesondere da das "Veralten" der o.g. Funktionen z.B. schon länger angekündigt ist, und die neuen Funktionen auch schon quasi ewig in PHP verfügbar sind.

Im Hinblick auf PHP6 möchte ich gar nicht wissen, was dann passiert ...

Gruß, Uwe

Link to comment
Share on other sites

Hi,

das kann man schon so sehen, da hast Du Recht. Obgleich ich da eher Bezeichnungen wie beta oder RCx kenne.

Das ist aber nicht der eigentlich Knackpunkt. Als Entwickler muss ich nicht auf eine stable warten - deshalb werden ja gerade auch frühere Entwicklungsstadien veröffentlicht, damit die Entwickler damit arbeiten können.

Zum anderen bringt der ioncube ja gar keine Funktionalität mit, der verschlüsselt nur den Code, damit der nicht geklaut werden kann - hat aber mit der eigentlichen Entwicklung eines PHP5.3-fähigen Updates gar nichts zu tun.

Insofern kann man sicherlich dieses Update nicht herausgeben, bevor eine stable des Loaders veröffentlicht wird, aber man kann sie vorher entwickeln.

Und ehrlich gesagt, genau das erwarte ich von einer kommerziellen Software und ich bin tierisch genervt, dass das gesamte Update meiner Systeme gerade an diesem Punkt hängt.

Kann man nur hoffen, dass mehr Provider-Kollegen auf PHP5.3 umsteigen und die XTC-Kunden dann einfach immer lauter maulen. Vielleicht beschleunigt das den Update-Vorgang.

Gruß, Uwe

Link to comment
Share on other sites

Hallo,

habe mir den Veyton als Testlizenz installiert und genau diese Probleme. Leider habe ich keine Möglichkeit, PHP zu ändern, da ja dann die automatisierten Updates meines Systems nicht mehr passen würden.

Auf eine Email kam bisher nur der Autoresponder, daß ein Ticket erstellt wurde und dies mit niedriger Priorität bearbeitet wird.

Zwei Fragen nun:

a) bis wann wird es denn ein Update geben

B) Wie verhält sich das Entwicklerteam generell bei solchen Mängeln? Es kommt ja öfter vor, daß mal neue Versionen von PHP oder sonst was verfügbar sind - wie lange ist die Dauer denn so im Durchschnitt, bis XTC reagiert?

Wenn ich schon Geld für ein Shop-System ausgebe, soll es ja auch funktionieren - und zwar problemlos....

LG

Jochen

Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...

Bin gerade dabei bei Artfiles einen Veyton 4.12 aufzusetzen.

Leider ohne Erfolg, da der Provider php 5.3 im Einsatz hat.

Zuerst hatte ich das Problem, den ioncube loader 5.3 zu aktivieren.

Der läuft jetzt.

Aber nun folgendes nach der Installation (die Erfolgreich war laut installationsscript).

Deprecated: Function split() is deprecated in /home/www/doc/23030/pferdplusreiter.biz/www/xtFramework/library/adodb/adodb-perf.inc.php on line 94 Deprecated: Function split() is deprecated in /home/www/doc/23030/pferdplusreiter.biz/www/xtFramework/library/adodb/adodb-perf.inc.php on line 97 Deprecated: Function split() is deprecated in /home/www/doc/23030/pferdplusreiter.biz/www/xtFramework/library/adodb/adodb-perf.inc.php on line 94 Deprecated: Function split() is deprecated in /home/www/doc/23030/pferdplusreiter.biz/www/xtFramework/library/adodb/adodb-perf.inc.php on line 97 Deprecated: Function split() is deprecated in /home/www/doc/23030/pferdplusreiter.biz/www/xtFramework/library/adodb/adodb-perf.inc.php on line 94 Deprecated: Function split() is deprecated in /home/www/doc/23030/pferdplusreiter.biz/www/xtFramework/library/adodb/adodb-perf.inc.php on line 97 Fatal error: Cannot redeclare date_add() in /home/www/doc/23030/pferdplusreiter.biz/www/xtFramework/functions/date_short.inc.php on line 81

So ein mist.

Ich habe sowieso bei meiner Internetrecherche gelesen, das niemand auf Probleme antwortet.

Werde meinem Kunden empfehelen, sein Geld zurückzufordern,

da es sich hier um keine professionelle Software handelt.

Der Systemcheck darf gar keine Installation zulassen, wenn die Software unter php 5.3 gar nicht läuft.

Das ist Abzocke!!!!!!!

Link to comment
Share on other sites

Das ist kein Fehler von Veyton sondern dein Server sagt dir lediglich dass diese Funktion in den nächsten PHP-Updates herausfliegt, mehr nicht.

Öffne deine php.ini sofern vorhanden und setze den Eintrag display_errors auf null oder trage in deiner .htaccess php_value display_errors 0 ein, das sollte die Meldung unterdrücken.

Link to comment
Share on other sites

Leider funktioniert das nicht:mad:

Hier die Infos aus der phpinfo.php

display_errors Off Off

display_startup_errors Off Off

doc_root no value no value

docref_ext no value no value

docref_root no value no value

enable_dl Off Off

error_append_string no value no value

error_log no value no value

error_prepend_string no value no value

error_reporting 22519 22519

Ein logon in den Backend Bereich funktioniert auch nicht.

Kann sich jeder mal ansehen:

xt:Commerce VEYTON 4.0

phpinfo()

xt:Commerce VEYTON 4.0 Enterprise Login

Und wenn man nicht die funktion date_add umbenennt, funktioniert der Shop

überhaupt nicht!!!!!

Das beste ist aber, das die Installroutine nicht meckert

Alles ist grün

Ausserdem haben immer mehr provider php 5.3 installiert.

Wenn es kein Update gibt, werde ich vom Kauf zurücktreten.

Dann schreiben Sie das auch bitte FETT auf Ihre Homepage!!!

Das diese Shopsoftware nicht unter php 5.3 läuft.

So jetzt ist es 22:30 Uhr und ich habe wieder mal Stunden damit verbracht,

festzustellen, das wieder mal was nicht funktioniert.

Und schieben Sie es nicht immer auf die Provider.

Die können nichts dafür, wenn man PHP auf dem aktuellen Stand hält.

Die nächsten Shops werden folgen, sobald die Provider auf 5.3 umstellen.

Da wünsche ich Ihnen schon viel Freude beim bearbeiten der verärgeten Anrufer.

Link to comment
Share on other sites

Nun habe ich es endlich geschafft, den Veyton 4.0.12 unter php 5.31 zum

Laufen zu bringen.

Folgende Schritte waren dafür notwendig:

1. Download des ioncube loaders für die Version 5.3 und kopieren des

Moduls ins Verzeichnis ioncube

2. Anpassen der php.ini (Bei Artfiles wurde mir dafür eine eigene php.ini

zur Verfügung gestellt).

Bei anderen Providern reicht es oftmals eine php.ini im

Haupt-Verzeichnis der Shop-Dateien anzulegen.

Dort trägt man nun die Variable ein:

zend_extension="/home/www/doc/23030/pferdplusreiter.biz/www/ioncube/ioncube_loader_lin_5.3.so"

Wobei der Pfad natürlich an das eigene Verzeichnis angepasst werden muss.

3. Umbenennen der date_add Funktion in der Datei:

xtFramework/functions/date_short.inc.php

Ich habe dies in date_add_old umbenannt.

4. Error reporting in der main.php ändern:

aus error_reporting(E_ALL & ~E_NOTICE);

wird error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);

Diese Datei gibt es 2 mal: /xtFramework/main.php

und /xtCore/main.php

Nun läuft der Shop.

Ich hoffe nur, das die date_add funktion nicht benötigt wird.

Vielleicht weiß das jemand.

Und ich hoffe auch, dass es schleunigst ein Update für 5.3 geben wird,

da ja deprecated unter anderem bedeutet, dass die Funktionen irgendwann komplett rausfliegen.

Link to comment
Share on other sites

Da ich noch festgestellt habe, dass es Probleme mit dem Anzeigen des Captchas gibt, habe ich noch ein paar Stunden debugging hinter mich gebracht,

um auch dieses Problem zu lösen:

Folgende Dateien müssen angepasst werden:

/xtCore/main_slim.php ab Zeile 63


// bugfix for php 5.3
/* Old
if(_SYSTEM_DEBUG==true){
error_reporting(E_ALL & ~E_NOTICE);
ini_set("display_errors", "1");
}else{
ini_set("display_errors", "0");
}
*/

// New
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED );
if(_SYSTEM_DEBUG==true){
ini_set("display_errors", "1");
}else{
ini_set("display_errors", "0");
}


[/PHP]

Und nun noch in der Datei:

/xtFramework/library/adodb/drivers/adodb-mysql.inc.php

ab Zeile 486

[PHP]

//***************************************************************************
// php 5.3 bugfix this is required, otherwise the captcha image will not be displayed
$idx = $this->_connectionID;
settype($idx, "integer");
//$this->__db[$this->_connectionID] = $dbName;
$this->__db[$idx] = $dbName;
//***************************************************************************
[/PHP]

So, jetzt hoffe ich allen Leidensgenossen geholfen zu haben.

Wie gesagt, normalerweise sollte man sein Geld zurückverlangen.

Ich mache hier die Arbeit für die Innsbrucker....

Macht es wieder zu OpenSource, dann läuft das wieder.

Lebt Ihr überhauot noch? oder zählt Ihr noch das Geld?

Link to comment
Share on other sites

  • 1 month later...

Die Änderungen von seppo23 funktionieren leider nicht; ich komme nicht ins Backend aufgrund von etlichen Funktionen die alt "deprecated" markiert wurden.

Wirklich ne Frechheit sein System seit nem halben Jahr ohne Updates zu verkaufen. Ich sitz hier auf nem Server, der unmöglich wieder für ein Downgrade geeignet ist und muss nun einen Kunden vertrösten.

Versteh die Welt nicht mehr. Solche Versionsupdates seitens PHP werden doch im Vorfeld in etlichen Betas angeboten; der Zeitpunkt für alle Entwickler, für die Zukunft zu rüsten. :rtfm:

Da natürlich die Hälfte aller Scriptfiles gecrypted sind, können die Kunden weiter fleißig Arschkarten sammeln, anstelle den Codeschrott selbst auszubessern.

So, das war mein erster und letzter Post hier. Und tschüß!

Link to comment
Share on other sites

Ich möchte den Support jetzt nicht wörtlich zitieren, aber man hat mir mitgeteilt das im Laufe diesen Monats ein Shop-Update veröffentlicht wird.

Wie wir mit dem Problem umgehen können müssen wir wohl bis dato erstmal sehen.

Ggf. den Shop kurzzeitig auf einem anderen Server betreiben.

Link to comment
Share on other sites

  • 3 weeks later...

Ioncube und php 5.3 scheinen nicht so die Freunde zu sein. :)

Vielleicht möchte die Geschäftsleitung aber auch die Verschlüsselung ändern,

denn Ioncube lässt sich mittlerweile leider sehr leicht decodieren, obwohl es 256bit verschlüsselt ist.

Mal abwarten was kommt, es wird sicherlich viel mit dem Update behoben sein.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
  • Create New...