4images Forum & Community

4images Help / Hilfe => Bug Fixes & Patches => Topic started by: Sunny C. on August 05, 2021, 09:36:12 PM

Title: PHP 8 Fix für Liebhaber
Post by: Sunny C. on August 05, 2021, 09:36:12 PM
Grüßt euch,

wäre es eventuell möglich in Form einer Kulanz und auch liebe zum System, 4images wenigsten noch einmal vom Code ausgesehen, PHP 8 Ready zu machen?

Unter PHP 7.4 läuft es ohne Probleme, schaltet man auf PHP 8.0.* um, erhält man grundsätzlich nur eine weiße Seite. Keine Fehlermeldung, nichts steht in der php_error oder error Log.
Ich bin sehr gerne bereit einen Obolus dafür zu bezahlen, sodass auch andere den Fix nutzen können.
Ich wäre unfassbar dankbar.

Sowohl in der php.ini habe ich das versucht:
display_errors = on
display_startup_errors = on
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED

In der index.php des Scripts beispielsweise:
error_reporting(E_ALL | E_STRICT);
ini_set('display_startup_errors',1);
ini_set('display_errors',1);

Ich habe mir ein Script heruntergeladen, um zu schauen, ob es bloß an irgendwelchen Funktionen liegt:
https://github.com/wapmorgan/PhpDeprecationDetector

phpdd ./ --target 8.0 oder phpdd -t 8.0 -a 7.4 ./ habe ich verwendet

Das Script sagt mir aber: Analyzer has not detected any issues in your code.

LG
Title: Re: PHP 8 Fix für Liebhaber
Post by: php8 on August 10, 2021, 05:43:49 PM
Hallo qBass17,

der Herausforderung wollte ich mich auch gerne stellen, habe dann aber durch die weiße Seite (die ein Error 500 ist) wieder sein gelassen. Letztlich hat mich dein Beitrag dazu animiert, es nochmal zu versuchen, und mit gefühlt endlosen Debugzeilen die Ursache näher einzugrenzen. Das hat mich ein paar ruhige Nachtstunden gekostet, aber hier sind nun meine Ergebnisse. Meine Erfahrungen sind leider etwas eingerostet, fühle dich frei, anhand meiner gesammelten Informationen tiefer zu schürfen. Leider kommt mein Beitrag nun auch einige Tage verspätet, ich musste mich hier erst dem Registrierungs- und Freischaltvorgang stellen, und hatte letztlich mehrfach Schwierigkeiten, mich im Forum überhaupt einzuloggen, weil meine Session direkt nach dem Login als Abgelaufen deklariert und ich wieder ausgeloggt wurde (das Verhalten kenne ich aber leider von anderen SimpleMachines Foren sehr gut, aber das ist eine andere Geschichte).

Datei: global.php

Eine Funktion im Code steht definitiv unter PHP 8 nicht mehr zur Verfügung:
PHP Fatal error: Uncaught Error: Call to undefined function get_magic_quotes_gpc() in /global.php:61
Diese Funktion ist seit PHP 7.4.0 DEPRECATED (veraltet) und seit PHP 8.0.0 ENTFERNT.

Ersetze:
if (get_magic_quotes_gpc() == 0) {
  $HTTP_GET_VARS    = addslashes_array($HTTP_GET_VARS);
  $HTTP_POST_VARS   = addslashes_array($HTTP_POST_VARS);
  $HTTP_COOKIE_VARS = addslashes_array($HTTP_COOKIE_VARS);
}

durch:
  $HTTP_GET_VARS    = addslashes_array($HTTP_GET_VARS);
  $HTTP_POST_VARS   = addslashes_array($HTTP_POST_VARS);
  $HTTP_COOKIE_VARS = addslashes_array($HTTP_COOKIE_VARS);

Finde und kommentiere aus (// vor die Zeile setzen):
include_once(ROOT_PATH.'includes/cache_utils.php');

Ergänze danach:
function create_cache_id() {
}
function get_cache_file() {
}
function save_cache_file() {
}

Finde und kommentiere aus (// vor die Zeile setzen):
include_once(ROOT_PATH.'includes/captcha_utils.php');

Voraussetzungen:

Ausstehend - diese Warnings habe ich nicht behandelt:

Liebe Grüße.
Title: Re: PHP 8 Fix für Liebhaber
Post by: Sunny C. on August 13, 2021, 01:31:57 PM
Grüße,

danke für die Mühe, dass ist sehr spannend. Und es ist schön zu sehen, dass es noch ein gewisses Interesse besteht.

Ich liebe dieses System nach wie vor.

Ich denke die Entwickler werden diesen Beitrag berücksichtigen.

Ich werde auch weitermachen, sobald ein offizieller Patch erscheinen wird und mich weiter dem neuen Layout des Backend sowie Frontend widmen.

LG
Title: Re: PHP 8 Fix für Liebhaber
Post by: kp on August 24, 2021, 11:44:08 AM
Hallo Zusammen,
habe einen Fix für PHP 8 erstellt, hierbei sind alle Funktionen ohne Einschränkungen wieder nutzbar.
Schaut bitte hier nach: https://www.4homepages.de/forum/index.php?topic=33111.msg168360#msg168360 (https://www.4homepages.de/forum/index.php?topic=33111.msg168360#msg168360)