Я пытался запустить phpdox на Windows Server 2012 — но я получаю сообщение об ошибке:
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:», включая Jenkins, но рабочая область jenkins лежит на «D:»?
Я думаю, что проблема заключается в неправильном использовании пути WINDOWS. Пожалуйста, посмотрите этот вопрос:
Помогите с путем Windows — PHP
В качестве быстрого теста, попробуйте изменить file_exists
проверь к зашифрованному аргументу:
file:///C:\htdocs\AscPro\build\phpdox\tokens\AppBundle\AppBundle.php.xml
Боюсь, это ошибка phpdox.
Phpdox преобразует все пути в стиль Unix перед проверкой на существование.
Вы можете увидеть этот код здесь.
Может быть, вы можете взломать функцию существует
заменить:
return file_exists($this->getPathname());
чтобы:
return file_exists(parent::getPathname());