7

ich versuchte zu laufen phpdox auf Windows Server 2012 - aber ich erhalte die Fehlermeldung:PHPDox Datei nicht gefunden

PHP Version: 7.0.5 (WINNT) 
PHPDox Version: 0.8.1.1 
Exception: TheSeer\phpDox\Generator\TokenFileException (Code: 1) 
Location: phar://D:/htdocs/AscPro/bin/phpdox-0.8.1.1.phar/phpdox/generator/pro 
ject/TokenFile.php (Line 19) 

File 'file:/D:/htdocs/AscPro/build/phpdox/tokens/AppBundle/AppBundle.php.xml' 
not found 

ich die Lage überprüft haben, wird die Datei nicht fehlt. Ich laufe auf dieses Problem während des kontinuierlichen Integrationsprozesses mit Jenkins. Es ist sehr seltsam, weil die gleiche phpdox-Version auf Ubuntu für mich funktioniert hat. Vielleicht hängt das mit der Tatsache zusammen, dass alle Programme auf "C:" basieren, einschließlich Jenkins - aber der jenkins-Arbeitsbereich liegt auf "D:"?

Antwort

0

Ich fürchte, es ist ein Fehler von phpdox.

Phpdox konvertieren alle Pfade in Unix-Stil vor dem Check zu existieren.

You can see this code here.

Vielleicht können Sie Funktion exists

ersetzen Hack: return file_exists($this->getPathname());

zu: return file_exists(parent::getPathname());

+0

Gibt es keine Abhilfe? Kann ich die fileinfo-Klasse des Bundles irgendwie überschreiben? Oder gibt es irgendwelche gleichwertigen Werkzeuge, die Dokumente wie phpdox erzeugen und auf Windows Server arbeiten? – user3746259

+0

Fügen Sie hinzu, wie man eine existierende Funktion hackt. Die Formatierung von Kommentaren ist so schlecht. – whitediver

+0

Kann nicht zustimmen, da 'file_exists' mit'/'unter Unix und Windows mit Ausnahme von Verzeichnisnamen funktioniert, aber dies ist kein verzeichnisbezogener Fall. – yergo

1

Ich denke, dass das Problem in einem falschen Verwendung von WINDOWS Weg liegt. Bitte beachten Sie diese Frage:

Help with windows path - PHP

Als Schnelltest, versuchen file_exists Scheck harcoded Argument zu ändern:

file:///C:\htdocs\AscPro\build\phpdox\tokens\AppBundle\AppBundle.php.xml

+0

Ich verstehe Ihre Antwort in Bezug auf die Frage phpdox nicht. Ich kann ihren Code nicht ändern. – user3746259

+0

@ user3746259 Aus gutem Grund können Sie! – Jehy