Probleme mit Umstellung auf PHP 7.3

Du hast Probleme beim Installieren oder bei der Benutzung einer Extension? In diesem Forum bist du richtig.
Forumsregeln
Bei Fragen zu einer bestimmten Extension sind Extension-Name und die Downloadquelle der Extension erforderlich. Letztere in Form der URL zum Download.
Antworten
Lizardx
Mitglied
Beiträge: 212
Registriert: 20.05.2006 18:35

Probleme mit Umstellung auf PHP 7.3

Beitrag von Lizardx »

Hallo,

ich benutze schon immer das Script "Letzte Beiträge auf einer nicht phpBB Seite anzeigen". Das phpBB Forum befindet sich im Unterverzeichnis und im Root wird das Script angewandt. Nun zu meinem Problem:

Nächsten Monat muss ich bei meinem Webhosting Tarif alles auf PHP 7.3 umstellen. Dieses Script funktioniert aber leider nur mit PHP 5.6. Ich kenne mich leider mit PHP gar nicht aus. Frage: Ist es möglich, dass folgende Script so anzupassen, dass es auch unter PHP 7.3 läuft? Bin für jede Hilfe dankbar.

Code: Alles auswählen

<?php
// ############ Anfang Festlegung der Vorgaben ########################################

// Laenge der angezeigten Themenueberschrift in Buchstaben
$topic_length = '60';

// Maximal angezeigte Beiträge
$topic_limit = '7';

// Eingeschraenkte Forumsanzeige ('0' = Aus; '1' = Ein)
$special_forums = '1';

// IDs der zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
$forum_ids = '28';

// Relative Pfadangabe zur config.php
$config_path = '/';

// Absoluter Pfad des Forums auf dem Server, bitte eingeben !!!
$root_path = 'https://forum.domain.de/';



// ############ Ende Vorgaben #######################################

//Ermittlung des aktuellen Server-Verzeichnisses für Einbindung config.php
$path = dirname(__FILE__);

// Einbinden der phpBB-Konfigurationsdatei und somit Ermittlung der MySQL-Zugangsdaten
include_once($path.$config_path .'config.php');

// Verbindungsaufbau mit Zugangsdaten aus config.php, Fehlermeldung bei Problemen
mysql_connect($dbhost, $dbuser, $dbpasswd) OR die('Serververbindung fehlgeschlagen');

// Verbindung mit der phpBB-Datenbank herstellen
mysql_select_db($dbname) OR die('Datenbankverbindung fehlgeschlagen!');


//Abfrage ob Foreneinschraenkung gesetzt per Verzweigung und Uebergabe der moeglichen IDS an die Variable
$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id NOT IN ('. $forum_ids .') AND ';

//Definition der SQL-Abfrage
$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username AS first_poster, u.user_id AS first_poster_id, u2.username AS last_poster, u2.user_id AS last_poster_id, p.post_username AS first_poster_name, p2.post_username AS last_poster_name, p2.post_time
FROM ". $table_prefix ."topics t, ". $table_prefix ."forums f, ". $table_prefix ."users u, ". $table_prefix ."posts p, ". $table_prefix ."posts p2, ". $table_prefix ."users u2
WHERE $where_forums t.topic_poster = u.user_id AND f.forum_id = t.forum_id AND p.post_id = t.topic_first_post_id AND p2.post_id = t.topic_last_post_id AND u2.user_id = p2.poster_id
ORDER BY t.topic_last_post_id DESC LIMIT $topic_limit";


//Durchfuehrung der SQL-Abfrage und Ergebnisuebergabe an $result
$result = mysql_query($sql);

// Wenn Abfrafge fehlgeschlagen = Fehlermeldung
if( !$result )

{
die('SQL-Abfrage fehlgeschlagen!: '. mysql_error());
exit();
}

//Definition Array für Aufnahme der Abfragedaten
$line = array();

// Uebergabe der Daten bis zum letzten Datensatz an Array per Schleife
while( $row = mysql_fetch_array($result) )

{
$line[] = $row;
}

// Strukturiertes Auslesen des Arrays und Variablenuebergabe
for( $i = 0; $i < count($line); $i++ )
{
$forum_id = $line[$i]['forum_id']; //Forums-ID
$topic_id = $line[$i]['topic_id']; //Themen-ID

$forum_url = $root_path .'forum' . $forum_id . '.html'; //Forums-Link
$topic_url = $root_path .'topic'. $topic_id . '.html'; //Themen-Link

// Ausgabeformat der Beitragsueberschrift (Thema)
$topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';

// Themenklassifizierung
$topic_type = ( $line[$i]['topic_type'] == '2' ) ? 'Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Globaler Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Kritischer Beitrag ': '';
$topic_type .= ( $line[$i]['topic_vote'] ) ? 'Abstimmung ': '';

$views = $line[$i]['topic_views'];
$replies = $line[$i]['topic_replies'];

$first_time = date('d.m.Y', $line[$i]['topic_time']);
$first_author = ( $line[$i]['first_poster_id'] != '-1' ) ? '<a href="'. $root_path .'profile.php?mode=viewprofile&amp;u='. $line[$i]['first_poster_id'] .'" target="_blank">'. $line[$i]['first_poster'] .'</a>' : ( ($line[$i]['first_poster_name'] != '' ) ? $line[$i]['first_poster_name'] : 'guest' );
$last_time = date('d.m.Y', $line[$i]['post_time']);
$last_author = ( $line[$i]['last_poster_id'] != '-1' ) ? $line[$i]['last_poster'] : ( ($line[$i]['last_poster_name'] != '' ) ? $line[$i]['last_poster_name'] : 'guest' );
$last_url = '<a href="'. $root_path .'viewtopic.php?p='. $line[$i]['topic_last_post_id'] .'#p'. $line[$i]['topic_last_post_id'] .'">'. $last_author .'</a>';
// ############## Eigentliche Ausgabe der Beitraege #############



echo '<ul><li><a href="'. $topic_url .'" target="_top">'. utf8_encode($topic_title) .'</a>';

echo ' in <a href="'. $forum_url .'" target="_top" style="text-decoration:none">'. $line[$i]['forum_name'] .'</a> von ';
// User, Bei Bedarf loeschen

// Datum, Bei Bedarf loeschen


echo $last_url.' (';

echo $last_time.')</li></ul>';





// ############## Ende Eigentliche Ausgabe ##############
}





	




mysql_close(); // Beendigung der Datenbankverbindung
?>
Benutzeravatar
chris1278
Mitglied
Beiträge: 3526
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Probleme mit Umstellung auf PHP 7.3

Beitrag von chris1278 »

Aber bestimmt nicht mit phpbb 3.2.x denn die 3.2.x Reihe ist nicht mit php 7.3 kompatibel.

Stelle dein Server auf 7.2 um nicht höher.
Lizardx
Mitglied
Beiträge: 212
Registriert: 20.05.2006 18:35

Re: Probleme mit Umstellung auf PHP 7.3

Beitrag von Lizardx »

Das Forum läuft bei mir bereits unter PHP 7.3. Ich kann meinen Server umstellen nur in: PHP 5.6, PHP 7.1, PHP 7.2 und PHP 7.3

Meine phpBB Version ist auf dem aktuellsten Stand. Das Forum befindet sich im Unterorder. Dieser Unterordner ist auf PHP 7.3 eingestellt.

Mein Root Verzeichnis ist gerad (nur wegen diesem Script) auf PHP 5.6 eingestellt.
Benutzeravatar
Crizzo
Administrator
Administrator
Beiträge: 11943
Registriert: 19.05.2005 21:45
Kontaktdaten:

Re: Probleme mit Umstellung auf PHP 7.3

Beitrag von Crizzo »

Lizardx hat geschrieben: 04.11.2019 19:36 Das Forum läuft bei mir bereits unter PHP 7.3. Ich kann meinen Server umstellen nur in: PHP 5.6, PHP 7.1, PHP 7.2 und PHP 7.3
Dann wäre PHP 7.2 zu empfehlen, da phpBB 3.2.x nicht mit PHP 7.3 und höher lauffähig ist.

Was genau funktioniert denn mit dem Script nicht? Was leider auch so überhaupt nicht die phpBB-Funktionen nutzt.
Lizardx
Mitglied
Beiträge: 212
Registriert: 20.05.2006 18:35

Re: Probleme mit Umstellung auf PHP 7.3

Beitrag von Lizardx »

Crizzo hat geschrieben: 04.11.2019 19:53Was genau funktioniert denn mit dem Script nicht? Was leider auch so überhaupt nicht die phpBB-Funktionen nutzt.
Die Tabelle mit den letzten Beiträge erscheinen einfach nicht.

Also, ich habe gerad eine phpinfo Anfrage gemacht. Das Forum läuft unter PHP Version 7.3.9
Benutzeravatar
Crizzo
Administrator
Administrator
Beiträge: 11943
Registriert: 19.05.2005 21:45
Kontaktdaten:

Re: Probleme mit Umstellung auf PHP 7.3

Beitrag von Crizzo »

Das fängt schon mal hiermit an: https://www.php.net/manual/de/function. ... onnect.php

Diese Funktion gibt es ab PHP 7.0.0 nicht mehr.

Dann gibt es das auch nicht mehr: https://www.php.net/manual/de/function. ... ect-db.php , genauso wie das: https://www.php.net/manual/de/function.mysql-query.php etc.

Evtl. solltest du da einfach auf eine Extension umsteigen oder das Teil komplett neu bauen. :wink:
Lizardx hat geschrieben: 04.11.2019 20:05 Das Forum läuft unter PHP Version 7.3.9
Nochmal: stell es auf PHP 7.2.x
Lizardx
Mitglied
Beiträge: 212
Registriert: 20.05.2006 18:35

Re: Probleme mit Umstellung auf PHP 7.3

Beitrag von Lizardx »

Wenn ich auf PHP 7.2. umstelle, funktioniert das Script ebenfalls nicht. Ich habe nun einige Mysql Befehle in das neue Format ersetzt. Beispiel:

mysql_connect

in:

mysqli::__construct

Wo ist der Fehler? Wie gesagt, ich kenne mich mit PHP und Mysql nicht gut aus. Hier ist nun das geänderte Script:

Code: Alles auswählen

Wenn ich auf PHP 7.2. umstelle, funktioniert das Script ebenfalls nicht. Ich habe nun einige Mysql Befehle in das neue Format ersetzt. Beispiel:

mysql_connect

in:

mysqli::__construct

Wo ist der Fehler? Wie gesagt, ich kenne mich mit PHP und Mysql nicht gut aus. Hier ist nun das geänderte Script:

[code]<?php
// ############ Anfang Festlegung der Vorgaben ########################################

// Laenge der angezeigten Themenueberschrift in Buchstaben
$topic_length = '60';

// Maximal angezeigte Beiträge
$topic_limit = '7';

// Eingeschraenkte Forumsanzeige ('0' = Aus; '1' = Ein)
$special_forums = '1';

// IDs der zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
$forum_ids = '28';

// Relative Pfadangabe zur config.php
$config_path = '/';

// Absoluter Pfad des Forums auf dem Server, bitte eingeben !!!
$root_path = 'https://forum.nline.com/';



// ############ Ende Vorgaben #######################################

//Ermittlung des aktuellen Server-Verzeichnisses für Einbindung config.php
$path = dirname(__FILE__);

// Einbinden der phpBB-Konfigurationsdatei und somit Ermittlung der MySQL-Zugangsdaten
include_once($path.$config_path .'config.php');

// Verbindungsaufbau mit Zugangsdaten aus config.php, Fehlermeldung bei Problemen
mysqli::__construct($dbhost, $dbuser, $dbpasswd) OR die('Serververbindung fehlgeschlagen');

// Verbindung mit der phpBB-Datenbank herstellen
mysqli::select_db($dbname) OR die('Datenbankverbindung fehlgeschlagen!');


//Abfrage ob Foreneinschraenkung gesetzt per Verzweigung und Uebergabe der moeglichen IDS an die Variable
$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id NOT IN ('. $forum_ids .') AND ';

//Definition der SQL-Abfrage
$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username AS first_poster, u.user_id AS first_poster_id, u2.username AS last_poster, u2.user_id AS last_poster_id, p.post_username AS first_poster_name, p2.post_username AS last_poster_name, p2.post_time
FROM ". $table_prefix ."topics t, ". $table_prefix ."forums f, ". $table_prefix ."users u, ". $table_prefix ."posts p, ". $table_prefix ."posts p2, ". $table_prefix ."users u2
WHERE $where_forums t.topic_poster = u.user_id AND f.forum_id = t.forum_id AND p.post_id = t.topic_first_post_id AND p2.post_id = t.topic_last_post_id AND u2.user_id = p2.poster_id
ORDER BY t.topic_last_post_id DESC LIMIT $topic_limit";


//Durchfuehrung der SQL-Abfrage und Ergebnisuebergabe an $result
$result = mysqli::query($sql);

// Wenn Abfrafge fehlgeschlagen = Fehlermeldung
if( !$result )

{
die('SQL-Abfrage fehlgeschlagen!: '. mysqli::$error());
exit();
}

//Definition Array für Aufnahme der Abfragedaten
$line = array();

// Uebergabe der Daten bis zum letzten Datensatz an Array per Schleife
while( $row = mysql_fetch_array($result) )

{
$line[] = $row;
}

// Strukturiertes Auslesen des Arrays und Variablenuebergabe
for( $i = 0; $i < count($line); $i++ )
{
$forum_id = $line[$i]['forum_id']; //Forums-ID
$topic_id = $line[$i]['topic_id']; //Themen-ID

$forum_url = $root_path .'forum' . $forum_id . '.html'; //Forums-Link
$topic_url = $root_path .'topic'. $topic_id . '.html'; //Themen-Link

// Ausgabeformat der Beitragsueberschrift (Thema)
$topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';

// Themenklassifizierung
$topic_type = ( $line[$i]['topic_type'] == '2' ) ? 'Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Globaler Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Kritischer Beitrag ': '';
$topic_type .= ( $line[$i]['topic_vote'] ) ? 'Abstimmung ': '';

$views = $line[$i]['topic_views'];
$replies = $line[$i]['topic_replies'];

$first_time = date('d.m.Y', $line[$i]['topic_time']);
$first_author = ( $line[$i]['first_poster_id'] != '-1' ) ? '<a href="'. $root_path .'profile.php?mode=viewprofile&amp;u='. $line[$i]['first_poster_id'] .'" target="_blank">'. $line[$i]['first_poster'] .'</a>' : ( ($line[$i]['first_poster_name'] != '' ) ? $line[$i]['first_poster_name'] : 'guest' );
$last_time = date('d.m.Y', $line[$i]['post_time']);
$last_author = ( $line[$i]['last_poster_id'] != '-1' ) ? $line[$i]['last_poster'] : ( ($line[$i]['last_poster_name'] != '' ) ? $line[$i]['last_poster_name'] : 'guest' );
$last_url = '<a href="'. $root_path .'viewtopic.php?p='. $line[$i]['topic_last_post_id'] .'#p'. $line[$i]['topic_last_post_id'] .'">'. $last_author .'</a>';
// ############## Eigentliche Ausgabe der Beitraege #############



echo '<ul><li><a href="'. $topic_url .'" target="_top">'. utf8_encode($topic_title) .'</a>';

echo ' in <a href="'. $forum_url .'" target="_top" style="text-decoration:none">'. $line[$i]['forum_name'] .'</a> von ';
// User, Bei Bedarf loeschen

// Datum, Bei Bedarf loeschen


echo $last_url.' (';

echo $last_time.')</li></ul>';





// ############## Ende Eigentliche Ausgabe ##############
}





	




mysqli::close(); // Beendigung der Datenbankverbindung
?>
  
[/code]
Benutzeravatar
Crizzo
Administrator
Administrator
Beiträge: 11943
Registriert: 19.05.2005 21:45
Kontaktdaten:

Re: Probleme mit Umstellung auf PHP 7.3

Beitrag von Crizzo »

Ja, natürlich nicht.

Wie ich schrieb, gehen die Funktionen nicht bei PHP 7.0 und höher. Also auch unter PHP 7.2 geht es nicht, damit läuft aber immerhin phpBB3.2.8 problemlos.

Aber so 1:1 kann du die ich ersetzen. Nimm am besten die phpBB Funktionen dafür, dann musst du nicht alles selbst machen.

Grüße
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Probleme mit Umstellung auf PHP 7.3

Beitrag von BNa »

Hallo,

hier nochmal die Verlinkung zu dem nun funktionierenden Script (irritiert ja sonst nur):

viewtopic.php?f=6&t=243749&p=1399225#p1399225

Gruß...
Antworten

Zurück zu „Extension Support“