PHP does not hide command line arguments
Offen
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
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Ö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