7

ファイルが見つかりません - しかし、私はエラーを取得しています:PHPDoxは私がWindows Server 2012上でphpdox実行しようとしていた

私は場所をチェックしました
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 

、ファイルが欠落していません。 私はジェンキンとの継続的な統合プロセス中にこの問題を抱えています。同じphpdoxのバージョンが私のためにubuntuで動作したので、とても奇妙です。多分、これはジェンキンスを含むすべてのプログラムが「C:」になっているという事実に関連しているかもしれませんが、ジェンキンスのワークスペースは「D:」に載っていますか?

答えて

0

これはphpdoxのバグです。

Phpdoxはチェックが存在する前にすべてのパスをUNIXスタイルに変換します。

You can see this code here

はたぶん、あなたは置き換える機能exists

をハックすることができますに return file_exists($this->getPathname());

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

+0

がそこには回避策はありませんか?何とかバンドルのfileinfoクラスをオーバーライドできますか?または、phpdoxのようなドキュメントを生成し、Windows Server上で動作する同等のツールがありますか? – user3746259

+0

ハッキング存在関数を追加する方法。コメントの書式が非常に貧弱です。 – whitediver

+0

'/'で 'file_exists'がUnixとWindowsでディレクトリ名を除いて同じように動作するので同意できませんが、これはディレクトリ関連のケースではありません。 – yergo

1

私はこの問題は、Windowsのパスを使用して、誤った範囲内にあると思います。 harcoded引数にfile_existsチェックを変更しようと、簡単なテストとして

Help with windows path - PHP

:この質問を参照してください

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

+0

私はphpdoxに関するあなたの答えを理解していません。私は自分のコードを変更することはできません。 – user3746259

+0

@ user3746259原因は可能です! – Jehy

関連する問題