php / php/php-src

PHP does not hide command line arguments

Offen
#12,134 2 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

Description

Run php-cli with argument -H, then check process list:

php -H -e & ps ax

Expected ps output (command line arguments vanished):

...
13088 pts/2    R      0:00 php
...

Actual ps output:

...
13088 pts/2    R      0:00 php -H -e
...

The problem is that this fragment of code works not on original argv, but on argv that was modified by save_ps_args:

	/*
	 * Do not move this initialization. It needs to happen before argv is used
	 * in any way.
	 */
	argv = save_ps_args(argc, argv);
PHP Version

PHP 8.2.10

Operating System

No response

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

Beginne in sapi/cli/php_cli.c ungefähr bei Zeile 949 und untersuche, wie save_ps_args argv verändert, bevor die Logik zum Verbergen der Argumente ausgeführt wird. Reproduziere das Problem mit php -H -e & ps ax und überprüfe anschließend, dass die Prozessauflistung nur php ohne seine Befehlszeilenargumente anzeigt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, php
Bereich
cli
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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