php / php/php-src

getcwd() mismatched drive letter case for Windows directory

Offen
#8,631 9 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

Description

Function getcwd() returns different results with php.exe and php-cgi.exe
Via php.exe it returns drive letter in upper case.
Via php-cgi.exe it returns drive letter in lower case.

The following code:

<?php
function print_backtrace()
{
    print debug_backtrace()[0]["file"];
}

print getcwd() . "\n";
print_backtrace();

Resulted in this output:
via php.exe

C:\test
C:\test\test.php

but via php-cgi.exe

c:\test
C:\test\test.php

But I expected this output in both cases:

C:\test
C:\test\test.php
PHP Version

PHP 8.1.6

Operating System

Windows 11 21H2

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

Den Bericht unter Windows 11 mit PHP 8.1.6 sowohl mit php.exe als auch mit php-cgi.exe reproduzieren und dabei das bereitgestellte getcwd()- und debug_backtrace()-Skript ausführen. Die Groß-/Kleinschreibung des Laufwerksbuchstabens in beiden Ausgaben vergleichen und das unterschiedliche Verhalten des Arbeitsverzeichnisses im PHP-Quellcode nachverfolgen. Als erledigt gilt die Aufgabe, wenn beide ausführbaren Dateien dieselbe Groß-/Kleinschreibung des Laufwerksbuchstabens zurückgeben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php
Bereich
operating-systems
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.