Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

PHP 8 und Sessions

4 views
Skip to first unread message

Heiko

unread,
Nov 14, 2022, 2:35:21 AM11/14/22
to
Hi Leute,
nach rund einem Jahr habe ich mal ein kleines unschönes Problem, das ich
gerne beseitigt hätte.
Es geht um Sessions in PHP 8.

Hier ein kurzer Codeschnipsel, der mein "Problemchen" verdeutlicht:

<?PHP session_start()
$_SESSION['meinname'] = "Max Mustermann";
echo $_SESSION['meinname'];
?>

Das Script funktioniert soweit einwandfrei und es wird "Max Mustermann"
ausgegeben, aber im Fehlerlog steht dazu Folgendes:

-----[ Fehlerlog ]-----
[Mon Nov 14 08:18:37.139438 2022] [proxy_fcgi:error] [pid 9813] [client
xxx.xxx.xxx.xxx:52893] AH01071: Got error 'PHP message: PHP Warning:
Undefined array key "meinname" in
/var/www/vhosts/example.com/httpdocs/test.php on line 2
-----[Fehlerlog Ende ]-----

Okay, es ist nur eine Warnung und kein eigentlicher Fehler.
Aber wie kann ich mit PHP 8 im PHP-Code diese Warnung vermeiden, ohne
error_reporting zu ändern?
Diese Warnhinweise blähen die error.log ziemlich heftig auf, weil ich
recht viel mit $_SESSION arbeite.

Gruß
Heiko

Jakob YANAGIBASHI

unread,
Nov 15, 2022, 5:51:33 PM11/15/22
to
Heiko <heik...@gmail.com> wrote:
> Aber wie kann ich mit PHP 8 im PHP-Code diese Warnung vermeiden, ohne
> error_reporting zu ändern?

Habe PHP 8.1 laufen über PHP-FPM. Folgender Code:
```
<?php
error_reporting(-1);
session_start();
$_SESSION["foo"] = "bar";
echo $_SESSION["foo"];
```

Error Log bleibt leer. Deine Warnung sollte auch eigentlich nur erscheinen,
wenn besucht wird, von einem Array-Eintrag zu lesen, der vorher nicht
gesetzt wurde. Egal ob im Session-Array oder nicht. Dieser Code erzeugt bei
mir einen vergleichbaren Fehler:
```
<?php
error_reporting(-1);
session_start();
$_SESSION["foo"] = "bar";
echo $_SESSION["foobar"];
```

Nämlich:
```
WARNING: [pool www] child 16633 said into stderr: "NOTICE: PHP message: PHP
Warning: Undefined array key "foobar" in /var/www/test.php on line 5
```

Grüße

Jakob

Heiko

unread,
Nov 16, 2022, 12:26:11 PM11/16/22
to
Vielen Dank. Dann werde ich das morgen gleich mal auf's Genaueste checken.

Arno Welzel

unread,
Nov 17, 2022, 8:54:15 AM11/17/22
to
Heiko, 2022-11-14 08:35:

> Hi Leute,
> nach rund einem Jahr habe ich mal ein kleines unschönes Problem, das ich
> gerne beseitigt hätte.
> Es geht um Sessions in PHP 8.
>
> Hier ein kurzer Codeschnipsel, der mein "Problemchen" verdeutlicht:
>
> <?PHP session_start()

Da fehlt ein ";" am Ende.

> $_SESSION['meinname'] = "Max Mustermann";
> echo $_SESSION['meinname'];
> ?>
>
> Das Script funktioniert soweit einwandfrei und es wird "Max Mustermann"
> ausgegeben, aber im Fehlerlog steht dazu Folgendes:

Nein, es funktioniert nicht einwandfrei, weil Du ein ";" in der ersten
Zeile vergessen hast.


--
Arno Welzel
https://arnowelzel.de

0 new messages