php / php/php-src

Show symlinks in stack trace file paths

Aperta
#15,000 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Category: Engine Feature Status: Needs Triage
Lingua principale
C
Stelle
40.4k
Fork
8.2k
Merge medio
2g 13h
PR unite (30g)
96

Descrizione

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
  1. Create a directory "d2" and a symlink to that directory "d1"
mkdir D:\d2
mklink /D "D:\d1" "D:\d2"
  1. Create a "D:\d2\test.php" script
<?php

var_dump($argv);

(function(){
	  var_dump(debug_backtrace());
})();
  1. 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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Usa la riproduzione su Windows con php.exe, debug_backtrace(), eccezioni ed errori come punti di partenza. Confronta argv e i percorsi dei file dello stack-trace quando invochi D:\d1\test.php tramite il symlink. Il lavoro è completato quando i percorsi riportati mantengono costantemente il percorso del symlink per i casi descritti, verificando il comportamento esistente per individuare eventuali regressioni.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
php
Ambito
operating-systems
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.