Show symlinks in stack trace file paths
Offen
Dieses Issue hat noch niemand übernommen.
Category: Engine
Feature
Status: Needs Triage
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.1k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
Description
Summary
Stack trace (from debug_backtrace(), exceptions, errors ..) shows always absolute/real/evaluated file paths, even though the script was run from symlink context.
How to reproduce
- Create a directory "d2" and a symlink to that directory "d1"
mkdir D:\d2
mklink /D "D:\d1" "D:\d2"
- Create a "D:\d2\test.php" script
<?php
var_dump($argv);
(function(){
var_dump(debug_backtrace());
})();
- Run the script using symlink path
php.exe D:\d1\test.php
Current behavior
array(1) {
[0]=>
string(14) "D:\d1\test.php"
}
array(1) {
[0]=>
array(4) {
["file"]=>
string(14) "D:\d2\test.php"
["line"]=>
int(8)
["function"]=>
string(9) "{closure}"
["args"]=>
array(0) {
}
}
}
Expected behavior
array(1) {
[0]=>
string(14) "D:\d1\test.php"
}
array(1) {
[0]=>
array(4) {
["file"]=>
string(14) "D:\d1\test.php"
["line"]=>
int(8)
["function"]=>
string(9) "{closure}"
["args"]=>
array(0) {
}
}
}
...
PHP Version
8.3.9
Operating System
Windows
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
Verwende die Windows-Reproduktion mit php.exe, debug_backtrace(), Ausnahmen und Fehlern als Ausgangspunkte. Vergleiche argv und die Dateipfade der stack-trace, wenn D:\d1\test.php über den symlink aufgerufen wird. Als erledigt gilt, dass die gemeldeten Pfade für die beschriebenen Fälle durchgängig den symlink-Pfad beibehalten, wobei das bestehende Verhalten auf Regressionen geprüft wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- operating-systems
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 45/100