php / php/php-src

Preloading has no defined io-stream constants

Offen
#10,673 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bug Extension: opcache SAPI: cli Status: Needs Triage
Vorherrschende Sprache
C
Sterne
40.4k
Forks
8.1k
Ø Merge
2 T. 13 Std.
Gemergte PRs (30 T.)
96

Beschreibung

Description

As of https://www.php.net/manual/en/features.commandline.io-streams.php , there should be constants defined in CLI.

Added the following to preload.ini:

opcache.preload_user=www-data
opcache.preload=/path/to/preload.php

The following code wrote to preload.php:

<?php

var_dump(defined('STDIN'));
var_dump(defined('STDOUT'));
var_dump(defined('STDERR'));

Resulted in this output:

/path/to/preload.php:3:
bool(false)
/path/to/preload.php:4:
bool(false)
/path/to/preload.php:5:
bool(false)

But I expected this output instead:

/path/to/preload.php:3:
bool(true)
/path/to/preload.php:4:
bool(true)
/path/to/preload.php:5:
bool(true)

I could imagine this is the expected behavior but docs should be updated then. :) There are no restrictions defined in https://www.php.net/manual/en/opcache.preloading.php BTW, the opcache_enabled shown as false for var_dump(opcache_get_status(false));.

PHP Version

8.1.16

Operating System

Docker image: php:8.1-fpm-bullseye

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduzieren Sie den Bericht mit preload.ini und preload.php im PHP 8.1.16-Image php:8.1-fpm-bullseye und vergleichen Sie anschließend das Ergebnis mit der im Issue verlinkten Dokumentation zu CLI-I/O-Streams und opcache preloading. Ermitteln Sie, ob STDIN, STDOUT und STDERR während des Preloadings definiert sein sollten; als abgeschlossen gilt die Aufgabe, wenn entweder das Verhalten wie erwartet funktioniert oder die Dokumentation die Einschränkung klar beschreibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php
Bereich
cli
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.