PHP 5 - Shopsystem auf PHP 7 migrieren - Aufwand?

Mankind75

Mankind75

Aktives Mitglied
Thread Starter
Dabei seit
28.06.2005
Beiträge
2.776
Reaktionspunkte
832
Hallo zusammen,

ich bin vor einiger Zeit CrossOver Reseller geworden und wollte nun ein möglichst einfaches Shopsystem aufsetzen. Den entsprechenden Webspace habe ich, jedoch gibt es die Problematik, dass die Shopsoftware noch auf PHP5 läuft.

Es handelt sich um die GPL-Version von Phpeppershop in der Version 1.4 - Der Grund warum ich diese Shopsoftware mag ist die Überschaubarkeit des Systems und die relativ kurze Einarbeitungszeit.

Kann sich jemand mal den Code des Shops anschauen und einschätzen wie groß der Aufwand einer Portierung auf eine neue PHP-Version wäre?

Weitere Wünsche, die ich hätte wären:

- Multi-Language (englisch / deutsch)
- Postgres-Portierung statt MySQL/MariaDB-Nutzung
- Anbindung an ein Warenwirtschaftssystem (SQL Ledger)
- Verbesserte Hintergrundgrafiken und CSS-Layout

Danke für eure Rückmeldungen.
 
Ja, das hatte ich gesehen, aber ich nehme mal an, dass sich die Angaben auf die aktuelle Version 6 des Shops beziehen.

Bei meinem Anliegen geht es jedoch um die sehr alte Version 1.4, die im Rahmen einer Diplomarbeit entstand und unter der GPL steht.

Kurzer Nachtrag noch: Die GPL-Version gibt es laut Hersteller wohl auch auf sourceforge.net.
 
Ganz ehrlich: Sowas würde ich nirgends laufen lassen.
Du musst ja nicht nur die Kompatiblität zu PHP 7 herstellen Du musst die (sicher existierenden) ganzen Sicherheitslücken noch schließen (immerhin ist das Teil scheinbar über 10 Jahre alt)
 
  • Gefällt mir
Reaktionen: rz70
Ist nachvollziehbar. Dennoch finde ich ganz interessant, sich in Grundlagen der Shopsysteme einzuarbeiten und mir gefällt auch, dass es halt quasi ein einfaches Schaufenster für Produkte ist.

Auf welche Art von Sicherheitslücken könnte man denn da stoßen? SQL-Injections, Cross-Site Scripting, Anpassung des PHP-safe_modes?
 
Bei dem alten Code?
Auf so ziemlich alles :D
PHP ist ja heutzutage schon schwer sicher zu bekommen
 
@Mankind75
Ich empfehle magento mit den Anpassungen für den europäischen Markt und ein Budget > 25.000€ (nach oben offen) oder einfach ALLE_ZEIT_DIE_DU_HAST, wenn du es selbst machen möchtest.

Du wirst keine Zeit mehr haben für dein ERP Projekt.... (konntest du dich mittlerweile um LaTex Templates für die PDF Generierung aus SQL Ledger zu kümmern?)

Und ich würde die Fragestellung ändern (bitte nimm mir das nicht übel, nur als Anregung):
- Muss es wirklich ein ausgewachsener eigener Shop auf eigenem Server sein? Kosten / Nutzen?
- Reicht nicht eine Website mit Paypal Links oder ein "Shop Baukasten" zB von Strato, 1&1 und Konsorten?
- oder ein Shop im SAAS Betrieb (XT Commerce Cloud - als ein Beispiel)
- oder Amazon bzw ebay?
- Weißt du eigentlich, was du dir da antust? Außer der Technik fallen mir spontan ein: Verträge mit Zahlungsdienstleistern, regelmäßige Serverwartung, Einhalten aller rechtlichen Vorschriften ...

Aber vermutlich eignet sich dieses Thema eher für den Freelancer-Faden...

Wenn du aber einfach nur aus Interesse in gruseligen PHP Code schauen möchtest: auch da empfehle ich magento (moderne Version von "durch die Brust ins Auge") oder die alten, kostenlosen XT Commerce Versionen.
 
Ein rewrite könnte schneller sein :D

Grundsätzlich läuft PHP5 Software auch unter PHP7. Aber es nutzt eben nicht die Vorteile von PHP7 und die Software ist offenbar Steinalt ( von Version 1.4 auf 6 ist ja ein Riesensprung). Wenn es also die Version sein soll, dann such Dir einen Provider wo man noch PHP5 betreiben kann ( per htaccess geht das meist) und nutze eben den alten Schinken.

Wobei es Dir glaube ich eh nicht um Wirtschaftlichkeit geht, denn eine Portierung von einer guten DB zu einer anderen ( und Portierung ist hier ja wohl leider nötig) ist ja ebenfalls hoher Zeitaufwand ohne das es am Ende einen Nutzen gibt.

Also entweder betreibst Du das als akademisches Projekt - dann man los! Oder Du siehst das ganze ökonomisch und dann hat es einfach keinen Sinn!
 
Danke für euer Feedback.

In Bezug auf SQL Ledger hätte ich halt gerne eine eCommerce-Shopfront, welches die Produkte im Web präsentiert. Für diesen Zweck fand ich halt den phpeppershop in der GPL-Version gut oder alternativ halt ein Projekt namens LedgerCart. Bei phppeppershop würde halt die Lizenz sehr gut passen und es wäre eine sehr gute Erweiterung für das ERP-System.
 
ok, magento passt dann aufgrund der OSL leider gar nicht.
LedgerCart ist auch schon wieder 7 Jahre alt... es ist aber zumindest näher an SQL Ledger und du hast damit wenigstens eine Baustelle bereits halbwegs gelöst (sofern sich die DB Strukturen in SQL Ledger nicht doch verändert haben sollten seit 2010). Was aber komplett fehlt ist payment und eine Anpassung an die in de/eu gültigen rechtlichen Bestimmungen. Aber die hast du in der von dir favorisierten peppershopvariante wenn überhaupt, dann auch nicht auf dem neuesten Stand und ob die Paymentimplementierung von 2004 heute noch passt...
Wie wegus schon sagte: ein rewrite könnte schneller sein

Ich würde meine Energie vermutlich eher in eine Schnittstelle zu einem aktuellen und fertigen Shopsystem legen, anstatt das Rad komplett runderneuern zu müssen.
 
  • Gefällt mir
Reaktionen: Difool und wegus
Ich würde meine Energie vermutlich eher in eine Schnittstelle zu einem aktuellen und fertigen Shopsystem legen, anstatt das Rad komplett runderneuern zu müssen.
Ansätze einer Schnittstelle gibt es zumindest für kivitendo aber ich möchte das ERP-System an sich nicht austauschen.

Was haltet ihr eigentlich noch von osCommerce? Das ist sicherlich auch nicht zeitgemäß und hat Hackskandale hinter sich. Kann man so etwas noch verwenden? Mit diesem Projekt habe ich schon etwas herumgespielt, die Quellen von oscommerce-deutsch genommen und auf github.com etwas modifiziert.

Jedoch sind es auch rechtliche Aspekte um die ich mir Gedanken mache: Beispielsweise, dass beim Abschlussbutton "zahlungspflichtig bestellen" stehen soll. Auf Abmahnungen habe ich auch nicht sonderlich viel Lust.
 
Ein Shop ist schon eine harte Nummer!

Von der rechtlich richtigen Ausführung des Shops über Payment methods über AGB, Widerrufsbelehrungen, Gewährleistung, Rücknahme von Waren etc. Das ist schon ein ordentlicher Koffer. Von Bastellösungen kann ich da nur massiv abraten. Zumal von Bastelarbeiten mit teschnisch und rechtlich überalterter Software.

ERP/Shop-Kombinationen gibt es von Magento. Sowohl zum selber stricken (der Aufwand bemißt sich in Monaten) oder aber, wie oben erwähnt kommerziell. Es gibt auch fertige Shopsysteme von Providern. In wie weit die Module/Schnittstellen zu ERP haben mußt Du mal erfragen. Sich darauf festzulegen bestimmte Produkte zu verwenden und dann zu sehen wie man die Anforderungen da reinprügelt ist IMHO der falsche Weg. Richtiger wäre es doch aus den Anforderungen nach passenden Produkten zu suchen oder?
 
  • Gefällt mir
Reaktionen: Difool und ruerueka
Richtiger wäre es doch aus den Anforderungen nach passenden Produkten zu suchen oder?
Leider setzen die meisten Shopsysteme auf den LAMP-Stack mit MySQL und es gibt relativ wenig, wo auch Postgres unterstützt wird. Ansonsten kann man SQL Ledger noch auf DB2 und Oracle laufen lassen aber den Datenbankserver auszutauschen widerstrebt mir doch.

Wenn ich dann noch zusätzlich einen Shop auf Basis von MySQL laufen lasse, bekomme ich dann wieder eine Insellösung mit doppelter Datenhaltung etc.
 
Die Insel ist leider hier postgres. Das ist ein schönes DBMS, ich verwende es gern. Aber die Verbreitung ist eben bei weitem nicht wie die von MySQL. Grundsätzlich sollte man DBs nur über Abstraction-Layer anbinden. Ist der Zug einmal abgefahren ist es schwer das Rad wieder zurück zu drehen und 90% des SQL-Codes ist eigentlich abstrahierbar. Klar gibt es immer irgendwo die große Kür im MySQL, pgsql oder Transact-SQL Dialekt zur Lösung spezifischer Aufgaben. Das aber dann später mal zu übersetzen ist übel. Ich habe den Fehler mal mit einer MS SQL DB gemacht an der ich dann heute noch festhänge, da eine Migration zu aufwendig ist. Moral: die gesamte Software wird hier gerade neu geschrieben.
 
Ich würde die Systeme entkoppelt betreiben, d.h. der Shop hat die DB, die er nunmal hat, das ERP hat dann seine eigene DB.
Und die Schnittstelle über <buzzwords>XML / JSON / WebService</buzzwords> bauen.
So könntest du z.B. einen "Magento Adapter für SQL Ledger" zum ERP Projekt beisteuern, einen "SQL Ledger Adapter für Magento" als Magento-Plugin vertreiben und würdest trotzdem nicht gegen die Lizenzbedingungen verstoßen und vielleicht beiden Projekten einen Gefallen tun..
 
  • Gefällt mir
Reaktionen: Mankind75
Hallo Mankind75,

wenn dir peppershop gefällt, nimm doch einfach die aktuelle Version? Ist allemall günstiger als die 25k+ für ein sauberes Magento ;-). Ausserdem möchtest du mit dem Shop ja auch was verdienen, also was sind da die kleinen Lizenzkosten? Das schöne am Mac ist doch, dass es (neben Adobe) eine unmenge an cooler Software zu einem guten Preis-Leistungsverhältnis gibt - ich denke, dass das hier auch der Fall ist. Zumindest ist die Featureliste ziemlich lang und auf den Deutsch sprachigen Raum optimiert.
 
Wollte mich ohnehin noch für die zahlreichen Kommentare bedanken, die mich doch sehr zum Nachdenken angeregt haben.

Es geht halt erstmal nur darum CrossOver-Lizenzen und Supportcases zu verkaufen. Sonderlich reich werde ich damit wahrscheinlich nicht und beispielsweise für die Enterprise-Edition wo man Warenwirtschaftssysteme anbinden kann müsste ich schon einige Lizenzen verkaufen. Die Basicversion scheint aber okay zu sein, müsste dann wahrscheinlich selbst ein Skript für die Anbindung an mein Warenwirtschaftssystem programmieren oder halt wirklich erstmal mit zwei Systemen fahren.

CrossOver 17 kommt übrigens demnächst heraus und es laufen momentan Betatests, wo ich auch mitmache. Weiterhin wurde das deutsche Sprachpaket vervollständigt.
 
Es geht halt erstmal nur darum CrossOver-Lizenzen und Supportcases zu verkaufen. Sonderlich reich werde ich damit wahrscheinlich nicht
Genau darum würde ich den Aufwand so gering wie möglich halten. Aus meiner Sicht wäre das: ein "Shop-Baukasten" eines der großen Hoster oder eine statische Seite mit paypal link. Du hast bei deinem Portfolio keinen Mehrwert davon, deinen Kunden ein "volles Shoperlebnis" zu bieten mit Benutzerkontoverwaltung, Warenkorb, Vorschlagsliste etc.
 
  • Gefällt mir
Reaktionen: Mankind75
Ich lese mich gerade zum Thema ebay ein obwohl ich schon seit alando-Zeiten dabei bin. Die ganze Thematik, dass nicht alle Programme unter "CrossOver" laufen werden scheint mir ein ziemlich rechtliches Minenfeld zu werden und ich fühle mich da an folgenden Apple-Spot erinnert.

Kann man Lizenzschlüssel oder Aktivierungen von Rückgaben ausschließen? Nicht, dass Bestellungen reinkommen, ich schicke den Aktivierungscode, Geld wird zurückgebucht etc.
 
Mittlerweile gibt es einige Fortschritte bei mir und ich habe mich letztendlich für ein Shopsystem namens "Randshop" von einer Berliner Firma namens "Die Randgruppe". Das Shopsystem ist kostenlos und ich habe halt noch etwas Geld für das Kleinunternehmerplugin in die Hand genommen. Jetzt geht es darum, den Shop zu konfigurieren und die Shopregale mit "CrossOver" zu füllen.
 
Zurück
Oben Unten