Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: PHP Umstellung von 5.6 auf 7.1

    anitd

    • Neu im Forum
    • Beiträge: 38
    • Geschlecht:
    PHP Umstellung von 5.6 auf 7.1
    am: 17. Dezember 2018, 14:26:06
    Moin zusammen,

    ich habe die Suchfunktion schon ausgiebig genutzt, aber für mein konkretes Problem leider keine Lösung gefunden. ...und hoffe, ich frage nicht zum x-ten Male dasselbe.

    Ich habe in eine frische Neuinstallation (v2.0.4.2 rev 11374) die Daten aus meinem 1.06 Shop gezogen. Datenbankstruktur- und weitere Updates liefen problemlos durch. Das alles unter PHP 5.6.
    Nun möchte ich gerne zu PHP 7.1 wechseln.
    Angepasst habe ich nur die configure.php auf mysqli:
    Code: PHP  [Auswählen]
    define('DB_MYSQL_TYPE', 'mysqli');
    Muss sonst denn noch etwas getan werden?

    Ich bekomme bei Umstellung auf 7.1 leider nur Unable to connect to database server!.
    Unter 5.6. lief alles problemlos.

    Versuche mit PHP 7.0 ergeben mit mysqli ebenfalls Unable to connect to database server!
    Mit mysql logischerweise
    Call to undefined function: mysql_connect(). Please install the MySQL Connector for PHP

    Ich bin etwas ratlos.

    Beste Grüße
    Tina

    Linkback: https://www.modified-shop.org/forum/index.php?topic=39821.0
    Trade Republic - Provisionsfrei Aktien handeln

    AGI

    • modified Team
    • Beiträge: 300
    • Geschlecht:
    Re: PHP Umstellung von 5.6 auf 7.1
    Antwort #1 am: 17. Dezember 2018, 15:22:35
    Hallo Tina,

    kann es sein, dass deine geänderte config.php nicht auf dem Server gespeichert wurde, da die Dateirechte dies nicht zuließen?
    Weitere Änderungen, als die von dir gemachten sind normalerweise nicht notwendig.

    Viele Grüße
    Andreas

    anitd

    • Neu im Forum
    • Beiträge: 38
    • Geschlecht:
    Re: PHP Umstellung von 5.6 auf 7.1
    Antwort #2 am: 17. Dezember 2018, 15:32:27
    Hallo Andreas,

    Danke, das dachte ich nämlich auch, dass keine weiteren Änderungen nötig wären.
    Die Datei auf dem Server wurde aktualisiert. Ich habe wie immer die Rechte von 444 auf 644 umgestellt, geändert und dann wieder zurück.

    Mit dem mysqli-Eintrag liefe es dann ja auch unter 5.6 wiederum nicht mehr. ;-)

    Zurzeit habe ich erstmal wieder auf mysql und PHP 5.6 sowie das Standard-Template zurückgesetzt, aber ich weiß gar nicht, wo ich noch suchen könnte...

    LG
    Tina

    anitd

    • Neu im Forum
    • Beiträge: 38
    • Geschlecht:
    Re: PHP Umstellung von 5.6 auf 7.1
    Antwort #3 am: 17. Dezember 2018, 16:17:22
    Ich habe das Problem gelöst.
    in der configure.php stand zuvor:
    Code: PHP  [Auswählen]
    define('DB_SERVER', 'localhost:3306')
    ;
    Nach Entfernung des Ports, also Eintragung von 
    Code: PHP  [Auswählen]
    define('DB_SERVER', 'localhost')
    ;
    läuft es.
    Hat mein Provider da was an der Verbindung gedreht oder wieso mag PHP 7.1 den 3306 nicht?

    LG
    Tina

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: PHP Umstellung von 5.6 auf 7.1
    Antwort #4 am: 17. Dezember 2018, 22:34:59
    [...]
    Hat mein Provider da was an der Verbindung gedreht oder wieso mag PHP 7.1 den 3306 nicht?
    [...]

    Nein ich denke das die Verbindungsdaten welche dir der Provider/Hoster mitgeteilt hat schon richtig sind, aber in der Datei inc/db_functions_mysqli.inc.php sind meiner Meinung nach bei folgender Codesequenz Port und Socket vertauscht.

    Code: PHP  [Auswählen]
        $socket = explode(':', $server);
        if (USE_PCONNECT == 'true') {
          ${$link} = @mysqli_connect('p:'.$socket[0], $username, $password, NULL, ((isset($socket[2])) ? $socket[2] : NULL), ((isset($socket[1])) ? $socket[1] : NULL));
        } else {
          ${$link} = @mysqli_connect($socket[0], $username, $password, NULL, ((isset($socket[2])) ? $socket[2] : NULL), ((isset($socket[1])) ? $socket[1] : NULL));
        }

    Meiner Meinung nach sollte der Code so aussehen,

    Code: PHP  [Auswählen]
        $socket = explode(':', $server);
        if (USE_PCONNECT == 'true') {
          ${$link} = @mysqli_connect('p:'.$socket[0], $username, $password, NULL, ((isset($socket[1])) ? $socket[1] : NULL), ((isset($socket[2])) ? $socket[2] : NULL));
        } else {
          ${$link} = @mysqli_connect($socket[0], $username, $password, NULL, ((isset($socket[1])) ? $socket[1] : NULL), ((isset($socket[2])) ? $socket[2] : NULL));
        }

    denn typischerweise gibt man ja Host:Port:Socket an, wobei ich eine Angabe des Socket Pfads bei Shared Hosting noch nie gesehen habe, dazu müsste ja der Datenbankserver auf der gleichen Maschine laufen.

    Info hier -> http://php.net/manual/de/mysqli.construct.php

    Gruss
    Hanspeter

    vr

    • modified Team
    • Beiträge: 2.664
    Re: PHP Umstellung von 5.6 auf 7.1
    Antwort #5 am: 18. Dezember 2018, 00:22:27
    Hallo Hanspeter und Tina,

    danke für die Forschung, ich hab dafür #1564 angelegt.

    Grüße, Volker

    sieghard

    • Fördermitglied
    • Beiträge: 39
    • Geschlecht:
    Re: PHP Umstellung von 5.6 auf 7.1
    Antwort #6 am: 19. Dezember 2018, 15:19:03
    Unser Shop (gehostet bei 1&1) läuft auch nur mit PHP 5.6.

    Die Änderung von "DB_MYSQL_TYPE" auf 'mysqli' in includes/configure.php habe ich gemacht, und auch die Korrektur der vertauschten Socket-Paramenter in inc/db_functions_mysqli.inc.php (letzteres hat bei mir wohl keine Auswirkungen, weil der 1&1 mySQL-Server ohne Portangabe läuft).

    Wenn ich dann auf PHP 7.1 umschalte, bekomme ich im Shop spätestens beim Admin-Login eine fast leere Seite (es wird nur der "modified eCommerce" Footer angezeigt).

    Was muss ich noch ändern? Laut 1&1 läuft der "PHP 5.6 Community-Support" nur bis 12/2018 und irgendwann zwingen die mich zum Umstieg auf PHP 7.1.

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    Re: PHP Umstellung von 5.6 auf 7.1
    Antwort #7 am: 19. Dezember 2018, 16:31:45
    Schalte mal die html Komprimierung aus und teste erneut.

    Wenn es dann funktioniert, dann schau mal in der Quelltextansicht des Contentmanagers für die Indexseite, ob da komische Styleangaben drin stehen. Das kann durch kopieren und einfügen aus Word heraus passieren, die unter php >5.6 zu weißen Seiten führen.

    Siehe: Weiße Artikeldetailseite nach Serverumzug, aber nur bei wenigen Artikeln

    Gruß Timm

    wagners

    • Mitglied
    • Beiträge: 107
    • Geschlecht:
    Re: PHP Umstellung von 5.6 auf 7.1
    Antwort #8 am: 19. Dezember 2018, 17:00:24
    @sieghard
    Welche Shopversion hast du denn installiert? Sehe bei dir das alte Standard-Template - nur sagt dies nichts darüber aus, ob sich im Hintergrund schon eine 2.x-Version des Shops befindet oder noch eine 1.0x-Version.

    Solltest du eine 1.0x-Version im Einsatz haben, ist diese auch nicht für PHP 7 ausgelegt. Diese würde mit dem PHP5.6-Fix auch nur bis zu PHP 5.6 gehen.

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    Re: PHP Umstellung von 5.6 auf 7.1
    Antwort #9 am: 19. Dezember 2018, 17:11:19
    Version ist mindesten 2.0.3.0-sollte also grundsätzlich funktionieren.

    Sieht man im Seitenquelltext am modified Link der erst seit kurzem mit https und nofollow, noppener angegeben wird. Außerdem ist die nicht aktivierte .htaccess auch in Version 10934, was auf mindestens 2.0.3.0 schließen lässt.

    Gruß Timm

    P.S: Unabhängig vom PHP Problem solltest du die _.htaccess umbenennen in .htaccess und dort die SSL Weiterleitungen einrichten. So ist der Shop auch ohne www aufrufbar und leitet erst mit dem ersten Klick weiter.

    Code: XML  [Auswählen]
    ##-- redirect to https www-domain, when www is missing and no subdomain given and not using an ssl-proxy
      #RewriteCond %{HTTP_HOST} !^www\. [NC]
      #RewriteCond %{HTTP_HOST} !\.(.*)\. [NC]
      #RewriteCond %{HTTP_HOST} !^localhost [NC]
      #RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
      #RewriteCond %{SERVER_PORT} !^443$
      #RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    ändern zu

    Code: XML  [Auswählen]
    ##-- redirect to https www-domain, when www is missing and no subdomain given and not using an ssl-proxy
      RewriteCond %{HTTP_HOST} !^www\. [NC]
      RewriteCond %{HTTP_HOST} !\.(.*)\. [NC]
      RewriteCond %{HTTP_HOST} !^localhost [NC]
      RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
      RewriteCond %{SERVER_PORT} !^443$
      RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    sieghard

    • Fördermitglied
    • Beiträge: 39
    • Geschlecht:
    Re: PHP Umstellung von 5.6 auf 7.1
    Antwort #10 am: 19. Dezember 2018, 18:03:51
    @Timm: Was wäre ich ohne euch  :thumbs:
    Nicht nur die Indexseite, sondern fast alle Kategorie-Übersichten und einige Artikelbeschreibungen waren gefüllt mit ENDLOS vielen Zeilen, die erst in der Quelltextansicht sichtbar wurden. Ich habe jetzt alle unsere Artikeltexte überprüft und die fehlerhaften nochmal direkt im Editor sauber eingefügt -> PHP 7.1 funktioniert einwandfrei!
    DANKE VIELMALS FÜR DEN HINWEIS!!!

    @wagners: Shop-Updates installiere ich immer sehr zeitnah, aktuell also die v2.0.4.2 rev 11374, meistens direkt nach den Ankündigungen via Facebook.

    Grüße, Sieghard

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    Re: PHP Umstellung von 5.6 auf 7.1
    Antwort #11 am: 19. Dezember 2018, 19:13:39
    Gern.

    Vielleicht überlegst du noch, ob du die suchmaschinenfreundlichen Links aktivierst. Ich finds persönlich schöner und für Google soll es auch besser sein. Bedenke aber bitte, dass das mindestens kurzfristig Auswirkungen auf dein Ranking haben kann.

    Gruß Timm

    sieghard

    • Fördermitglied
    • Beiträge: 39
    • Geschlecht:
    Re: PHP Umstellung von 5.6 auf 7.1
    Antwort #12 am: 19. Dezember 2018, 19:25:13
    Vielleicht überlegst du noch, ob du die suchmaschinenfreundlichen Links aktivierst. Ich finds persönlich schöner und für Google soll es auch besser sein. Bedenke aber bitte, dass das mindestens kurzfristig Auswirkungen auf dein Ranking haben kann.
    Ranking/SEO sind eigentlich kein Problem, wir sind gemeinnützig ohne Gewinnziel (hört sich für einen Shop sicher komisch an, ist aber so). Was verstehst Du unter der Aktivierung suchmaschinenfreundlicher Links? Unsere Artikel werden jetzt schon gut von Google gefunden, weil es "Nischenprodukte" sind.

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    Re: PHP Umstellung von 5.6 auf 7.1
    Antwort #13 am: 19. Dezember 2018, 19:39:01
    Im Backend unter erweiterte Konfiguration-Meta Tags/Suchmaschinen-Suchmaschinenfreundliche URLs benutzen auf ja. Funktioniert aber nur, wenn die _.htaccess aktiviert ist, also .htaccess heißt, wie es jetzt ja auch der Fall ist wegen der nun funktionierenden SSL Weiterleitungen!

    Dadurch würde der Link statt

    https://www.impactev.de/shop/product_info.php?products_id=161

    zum Beispiel

    https://www.impactev.de/shop/Singt-und-spielt-dem-Herrn-SPIRALBINDUNG::161.html

    heißen.

    Gruß Timm

    sieghard

    • Fördermitglied
    • Beiträge: 39
    • Geschlecht:
    Re: PHP Umstellung von 5.6 auf 7.1
    Antwort #14 am: 19. Dezember 2018, 19:49:46
    Habe ich eben ausprobiert, funktioniert aber leider nicht (404 Fehler). Schade.
    Auch haben wir einen Newsletter, bei dem ich seit Jahren die "kryptischen" Links mit der "products_id" verwende. Im Prinzip kein Problem, aber ich habe mich dran gewöhnt.
    4 Antworten
    1036 Aufrufe
    21. Dezember 2019, 18:19:35 von fritten_fahrer
    2 Antworten
    891 Aufrufe
    05. Juni 2020, 14:38:09 von Fofinha
    5 Antworten
    7686 Aufrufe
    02. Juli 2018, 20:16:05 von Joklin
    11 Antworten
    2659 Aufrufe
    04. Mai 2020, 01:35:04 von snocer