PHP 8

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

PHP 8

Postby Herbert Koglin » 27. February 2021 15:46

Vor 10 Jahren habe ich für eine Internetseite ein eigenes Contant-Managementsystem entwickelt. U.a. gibt es darin eine Kontakt-Seite mit Captcha (Algorithmus aus dem Internet, was man da so findet). Jetzt verlangt mein Provider eine Aufdatierung der genutzten PHP-Version. Um länger Ruhe zu haben, habe ich mich für PHP 8 entschieden. Aber damit wird der Captcha-Text nicht mehr angezeigt. Auf meiner lokalen Testinstallation auch nicht das dahinterliegende Bild. Außerdem führt das Schließen des xampp-Controll-Panels zu einer EAccess Violation.
Mit PHP 7.4 habe ich keine Probleme.
Ist PHP 8 noch nicht ausgereift oder sind da Anpassungen im Quelltext oder der HTML-Optionen notwendig?
Herbert Koglin
 
Posts: 3
Joined: 27. February 2021 15:27
XAMPP version: 8.0.2
Operating System: Windows 10

Re: PHP 8

Postby Altrea » 27. February 2021 17:16

Herbert Koglin wrote:Um länger Ruhe zu haben, habe ich mich für PHP 8 entschieden. Aber damit wird der Captcha-Text nicht mehr angezeigt. Auf meiner lokalen Testinstallation auch nicht das dahinterliegende Bild. [...]
Mit PHP 7.4 habe ich keine Probleme.
Ist PHP 8 noch nicht ausgereift oder sind da Anpassungen im Quelltext oder der HTML-Optionen notwendig?

PHP 8 ist genauso ausgereift wie andere Major PHP Versionen nach wenigen Monaten.
Aber natürlich muss mit Codeanpassungen bei Major-Updates immer gerechnet werden.

Herbert Koglin wrote:Außerdem führt das Schließen des xampp-Controll-Panels zu einer EAccess Violation.

Das liegt daran, dass die xampp-control.ini für normale Benutzer nichtmehr beschreibbar ist, da es hierzu eine gemeldete Sicherheitslücke gibt die durch diese Maßnahme geschlossen wurde.
Du kannst die Access violation dadurch umgehen, dass du das control Panel mit erhöhten Administratorrechten startest.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: PHP 8

Postby Herbert Koglin » 27. February 2021 19:18

vielen Dank für die schnelle Antwort.
Mit Umbenennen der xampp-control.ini tritt das Problem nicht mehr auf.
Mit meinen PHP-Versionen bin ich durcheinander geraten. Das Captcha-Problem habe ich auch mit Version 7.4. Da holt ich wohl eine Änderung seit Version 7.1 ein.
Herbert Koglin
 
Posts: 3
Joined: 27. February 2021 15:27
XAMPP version: 8.0.2
Operating System: Windows 10

Re: PHP 8

Postby Altrea » 27. February 2021 20:27

Herbert Koglin wrote:Mit Umbenennen der xampp-control.ini tritt das Problem nicht mehr auf.

Dadurch wird die xampp-control.ini neu erstellt und der Standardbenutzer hat wieder Schreibberechtigung darauf.
Du solltest dir nur bewusst sein, dass du damit die Sicherheitslücke wieder geöffnet hast.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: PHP 8

Postby Herbert Koglin » 06. March 2021 16:56

zu meinem Captcha-Darstellungsproblem:
Mit Apache / 2.4.25 (WIN 32) mit PHP 7.1.1 werden Hintergrundbild und Captcha-Code richtig angezeigt.
Mit Apache 7 2.4.46 (WIN 64) und PHP 8.0.2 wird das Hintergrundbild nicht angezeigt. Wenn ich es im Browser direkt aufrufe (http://localhost/.../captcha/captcha.png) wird mir ein kleines weißes Quadrat angezeigt.
Das ist dann wohl eher ein XAMPP-Konfigurationsproblem. In welcher .ini / .conf-datei muss welcher Eintrag vorhanden sein?
Bei meiner Internetseite wird das Hintergrundbild mit PHP 8 angezeigt, aber der Captcha-Code nicht.
Wurde bei PHP etwas geändert?
Mein Captcha-PHP-Code:
// Session starten (auch wenn vorher schon mal vorhanden)
session_start();
// Leeren des Wertes in der Session
unset($_SESSION['captcha_spam']);
$captchacode = randomString(5); //Die Zahl bestimmt die Anzahl der Zeichen
$_SESSION['captcha_spam'] = $captchacode;
// Dem Browser vormachen, das Dokument wäre eine .gif-Datei (Bildtyp)
header('Content-type: image/gif');
// Ein Bild aus einem vorhandenem Bild erstellen
$img = imagecreatefromgif('captcha.gif'); //Backgroundimage
// Festlegen einer Farbe für die Schrift (mit Zufallswerten)
//$color = ImageColorAllocate($img, rand(0, 55), rand(0, 55), rand(0, 55)); //Farbe
$color = ImageColorAllocate($img, 0, 0, 0); //Farbe
// Bestimmen der Schriftart relativ zum Dokumentroot
$ttf = 'XFILES.TTF'; //Schriftart
$ttfsize = 25; //Schriftgrösse
// Winkel der Schrift (Zufallswert)
$angle = rand(0,5);
// Horizontale Position (Zufallswert)
$t_x = rand(5,30);
// Vertikale Position (Schriftgröße + Abstand zum Rand)
$t_y = 35;
// Belegen des Hintergrundbildes mit dem Code
imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $captchacode);
// Ausgabe des fertigen Bildes
imagegif($img);
// Löschen des Bildes aus dem Zwischenspeicher
imagedestroy($img);
Herbert Koglin
 
Posts: 3
Joined: 27. February 2021 15:27
XAMPP version: 8.0.2
Operating System: Windows 10


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 27 guests