Relaunch Website mit HTML5 PHP7

Fragen und Diskussionen zu laufenden ConPresso 4.x Projekten werden in diesem Forum diskutiert.
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Kann der das mit dem Umschalten auf PHP 7 gemacht haben? Denn vor 4 Tagen wurde noch erfolgreich auf der Seite etwas geändert.

Ich meine wäre das sinnvoll/nachvollziehbar, dass der Provider so etwas ändert im Zuge der PHP 7 Einführung??
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Danke für den Tipp mit strict.
Ich werde den Provider einmal fragen.

Danke soweit!
Und schade, dass das Forum dicht macht... dann komme ich nicht mehr sehr weit... :oops:

Gruß,
dutch
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

PHP und mySQL sind ja getrennte Systeme.

Aber vielleicht wurde auch mySQL erneuert und in der my.cnf rumgewurschtelt. Oder jemand dachte, Strict Mode wäre eine gute Idee.

Kannst ja mal ins SQL-Feld folgendes eingeben:
SET sql_mode = '';
INSERT INTO cpo4_block VALUES ('', '143', '2018-07-16 17:15:44', '877');
und dann erst "ok" drücken.

Und mal die Ausgabe von
SHOW VARIABLES LIKE 'sql_mode';
prüfen.

Ich habe mal die Gegenprobe gemacht mit
SET sql_mode = 'STRICT_ALL_TABLES';
INSERT INTO cpo4_block VALUES ('', '143', '2018-07-16 17:15:44', '877');
und erhalte Deine Fehler:
#1366 - Falscher integer-Wert: '' für Feld 'id' in Zeile 1
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
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Stimmt.

Keine Fehlermeldung bei:
SET sql_mode = '';
INSERT INTO cpo4_block VALUES ('', '143', '2018-07-16 17:15:44', '877');

Und SHOW VARIABLES LIKE 'sql_mode'; liefert:
STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_...

Und ich nehme an, das kann nur der Provider ändern?

EDIT: Habe das jetzt auch direkt an den Provider weitergegeben.
Nochmal danke! Dann kenne ich jetzt wenigstens die Ursache!
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Du könntest versuchen in _include/db_mysql.inc.php
nach diesem Teil

Code: Alles auswählen

        // perform a query
        function query($Query_String) 
        {
            if ($Query_String=='') return;
noch die Zeile

Code: Alles auswählen

$Query_String = "SET sql_mode = ''; " . $Query_String;
zu ergänzen.
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
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Habe ich eben ausprobiert.

Dann wird aber die website wieder weiß mit dieser Meldung:

Sorry, an error occured while processing this request.
An error occured while we were handling an error. This is bad.
Invalid SQL: SET sql_mode = ''; DESCRIBE cpo4_log bemerkung
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Hm, dann probiere - falls Du noch testen willst - mal das aus:

Code: Alles auswählen

        // perform a query
        function query($Query_String) 
        {
            if ($Query_String=='') return;

            $this->connect();

            // printf("Debug: query = %s<br />\n", $Query_String);

            $this->Query_ID = mysqli_query($this->Link_ID, "SET sql_mode = '';");
            $this->Query_ID = mysqli_query($this->Link_ID, $Query_String);
            $this->Row   = 0;
            $this->Errno = mysqli_errno($this->Link_ID);
            $this->Error = mysqli_error($this->Link_ID);
            if (!$this->Query_ID) 
            {
                $this->halt("Invalid SQL: ".$Query_String);
            }

            if ($GLOBALS['CPODEBUG'] & DEBUG_LOG_QUERIES) $GLOBALS['CPODEBUGLOG'][] = $Query_String;
            if ($GLOBALS['CPODEBUG'] & DEBUG_COUNT_QUERIES) $GLOBALS['CPODEBUGQUERYCOUNT']++;
            return $this->Query_ID;
        }
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
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Auch ausprobiert und dieses Mal keine Fehlermeldung, die website bleibt normal stehen.

Allerdings beim Umschalten auf PHP 7 wieder alle Artikel weg.

Und wenn ich in der Database wieder
INSERT INTO cpo4_block VALUES ('', '143', '2018-07-16 17:15:44', '877');

ausführen lasse, kommt leider wieder der alte Fehler.

:roll:
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Ja, klar, es muss halt immer erst
SET sql_mode = '';
ausgeführt werden, damit die Inserts funktionieren.
Kann man denn jetzt einen Artikel bearbeiten?

Dass die Artikel "weg" sind ist ja ein anderes Problem, das hat nichts mit der Datenbank sondern mit PHP zu tun.
Wenn man jetzt etwas genauer wüsste wie sich die Seite aufbaut...
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: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Eine Fehleranzeige würde helfen, ist aber sicher ausgeschaltet.

Ich habe bei einem Webauftritt in der _include/common.inc.php nach

Code: Alles auswählen

// set some PHP defaults that break CPOs behaviour
@ini_set('error_reporting', 
        E_ERROR | E_WARNING | E_PARSE |E_CORE_ERROR | 
        E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | 
        E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE);
noch

Code: Alles auswählen

@ini_set('display_errors', 'on');
eingefügt, um Fehlern auf den Grund gehen zu können.
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
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Stimmt, war natürlich sinnlos das in der DB zu testen... :lol:

Die Startseite ist eine normale Conpresso Rubrik, bei der aber im local header externe (nicht cpo) php Dateien included werden und im local footer andere Conpresso Rubriken 'eingebaut' sind, nicht als include, sondern auf die Art und Weise, die du hier im Forum einmal gezeigt hattest.

Die externen php Dateien werden normal geladen, egal ob Php 5.6 oder 7.

Aber die Artikel sowohl der Startseiten-Rubrik als auch der anderen im footer integrierten cpo-Rubiken werden nicht angezeigt.
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Ich komme auch an die error logs des servers, wenn das hilft.

EDIT:
Habe die codezeile eingebaut und bekomme (unter PHP 7) diesen Fehler:

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/public/sites/www.ebgu.nl/cms/mod_parser/tags2lower.inc.php on line 17

(5 Mal hintereinander)
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Dann nimm doch mal bei den Einstellungen von mod_parser die Zeile mit tags2lower.inc.php raus.
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
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Yes!
Jetzt läuft's wieder. :D :D

Im backend wurden die Artikel schon wieder angezeigt bevor ich die mod_parser Zeile rausgenommen hatte.

Aber ohne die Zeile werden jetzt auch die Artikel im frontend wieder gezeigt, unter PHP 7.

Das war's dann wohl!
Vielen Dank!

Das mod_parser hatte ich schon fast vergessen...
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Hier ist dann mal eine angepasste tags2lower.inc.php
Dateianhänge
tags2lower.inc.zip
(533 Bytes) 143-mal heruntergeladen
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
Antworten